封面图片

关于这本电子书

About This eBook

ePUB 是一种开放的、行业标准的电子书格式。但是,不同的阅读设备和应用程序对 ePUB 及其众多功能的支持各不相同。使用设备或应用程序设置可根据您的喜好自定义显示效果。您可以自定义的设置通常包括字体、字体大小、单列或双列、横向或纵向模式,以及您可以单击或点击放大的图形。有关阅读设备或应用程序上的设置和功能的更多信息,请访问设备制造商的网站。

ePUB is an open, industry-standard format for eBooks. However, support of ePUB and its many features varies across reading devices and applications. Use your device or app settings to customize the presentation to your liking. Settings that you can customize often include font, font size, single or double column, landscape or portrait mode, and figures that you can click or tap to enlarge. For additional information about the settings and features on your reading device or app, visit the device manufacturer’s Web site.

许多书目都包含编程代码或配置示例。为了优化这些元素的呈现效果,请以单列横向模式查看电子书,并将字体大小调整为最小设置。除了以可重排文本格式呈现代码和配置外,我们还提供了模仿印刷书中呈现的代码图像;因此,如果可重排格式可能会影响代码列表的呈现效果,您将看到“单击此处查看代码图像”链接。单击该链接可查看印刷保真代码图像。要返回上一页,请单击设备或应用程序上的“返回”按钮。

Many titles include programming code or configuration examples. To optimize the presentation of these elements, view the eBook in single-column, landscape mode and adjust the font size to the smallest setting. In addition to presenting code and configurations in the reflowable text format, we have included images of the code that mimic the presentation found in the print book; therefore, where the reflowable format may compromise the presentation of the code listing, you will see a “Click here to view code image” link. Click the link to view the print-fidelity code image. To return to the previous page viewed, click the Back button on your device or app.

软件架构师的另外 12 项必备技能

12 More Essential Skills for Software Architects

戴夫·亨德里克森

Dave Hendricksen

图像

新泽西州上萨德尔河 • 波士顿 • 印第安纳波利斯 • 旧金山

纽约 • 多伦多 • 蒙特利尔 • 伦敦 • 慕尼黑 • 巴黎 • 马德里

开普敦 • 悉尼 • 东京 • 新加坡 • 墨西哥城

Upper Saddle River, NJ • Boston • Indianapolis • San Francisco

New York • Toronto • Montreal • London • Munich • Paris • Madrid

Capetown • Sydney • Tokyo • Singapore • Mexico City

制造商和销售商用来区分其产品的许多名称均已声明为商标。本书中出现这些名称时,如果出版商知道商标声明,则这些名称将以首字母大写或全部大写的形式印刷。

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals.

作者和出版商在编写本书时已尽心尽力,但不作任何明示或暗示的保证,也不对错误或遗漏承担任何责任。对于因使用本文所含信息或程序而导致的或与之相关的偶然或间接损失,我们不承担任何责任。

The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.

有关批量购买此书的信息或特殊销售机会(可能包括电子版;定制封面设计;以及特定于您的业务、培训目标、营销重点或品牌兴趣的内容),请联系我们公司销售部门,邮箱为corpsales@pearsoned.com或电话为 (800) 382-3419。

For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales department at corpsales@pearsoned.com or (800) 382-3419.

如需咨询政府销售事宜,请联系governmentsales@pearsoned.com

For government sales inquiries, please contact governmentsales@pearsoned.com.

对于美国境外销售方面的问题,请联系international@pearsoned.com

For questions about sales outside the United States, please contact international@pearsoned.com.

请访问我们的网站:informit.com/aw

Visit us on the Web: informit.com/aw

美国国会图书馆出版品目錄數據

Library of Congress Cataloging-in-Publication Data

Hendricksen, Dave, 1964– 作者。

  软件架构师的 12 项必备技能 / Dave Hendricksen。

        页数 cm

  包括参考书目和索引。ISBN

  978-0-321-90947-3(平装本:简装本)

  1. 软件架构 — 职业指导。2. 计算机软件开发人员 — 生活技能指南。3. 职业发展。I. 标题。II. 标题:软件架构师的 12 项必备技能。QA76.76.D47H466

  2015

  005.1'20023—dc23

Hendricksen, Dave, 1964– author.

  12 more essential skills for software architects / Dave Hendricksen.

        pages cm

  Includes bibliographical references and index.

  ISBN 978-0-321-90947-3 (pbk. : alk. paper)

  1. Software architecture—Vocational guidance.  2. Computer software developers—Life skills guides.  3. Career development.  I. Title.  II. Title: Twelve more essential skills for software architects.

  QA76.76.D47H466 2015

  005.1'20023—dc23

                                                                                                                                2014021582

                                                                                                                                2014021582

版权所有 © 2015 Pearson Education, Inc.

Copyright © 2015 Pearson Education, Inc.

保留所有权利。印刷于美国。本出版物受版权保护,任何禁止复制、存储在检索系统中或以任何形式或任何手段(电子、机械、影印、录制或类似方式)传输之前,必须获得出版商的许可。要获得使用本作品材料的许可,请向 Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458 提交书面申请,或将申请传真至 (201) 236-3290。

All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to (201) 236-3290.

ISBN-13:978-0-321-90947-3

ISBN-10:0-321-90947-X

ISBN-13: 978-0-321-90947-3

ISBN-10: 0-321-90947-X

文本在美国印第安纳州克劳福兹维尔的 RR Donnelley 印刷厂使用再生纸印刷。

第一次印刷,2014 年 8 月

Text printed in the United States on recycled paper at RR Donnelley in Crawfordsville, Indiana.

First printing, August 2014

献给我的妻子詹妮弗、儿子蒂姆和女儿凯蒂。

To my wife, Jennifer, my son, Tim, and my daughter, Katie.

内容

Contents

前言

Preface

致谢

Acknowledgments

关于作者

About the Author

第一部分:项目技能

Part I: Project Skills

第一章:合作关系

Chapter 1: Partnership

什么是合伙关系?

What Is a Partnership?

合作关系的关键方面是什么?

What Are the Key Aspects of a Partnership?

结盟

Alignment

我需要与谁成为合作伙伴?

With Whom Do I Need to Be Partners?

寻找思想领袖

Finding the Thought Leaders

认识影响者

Knowing the Influencers

建立可信赖的顾问

Establishing Trusted Adviser(s)

社区审查(架构审查委员会)

Community Review (Architecture Review Board)

在做出关键决策之前寻求共识

Seeking Alignment before Making Key Decisions

共同愿景助力合作

Alignment of a Shared Vision Enables Partnerships

相信

Trust

建立信任

Establishing Trust

建立公开披露

Establishing Open Disclosure

避免过度分散精力(过度承诺)

Avoiding Getting Spread Too Thin (Overcommitting)

如何在过度承诺后放松

How to Unwind after You Have Overcommitted

学会说“不”

Learning to Say No

信任带来透明度——伙伴关系的命脉

Trust Enables Transparency—the Lifeblood of Partnerships

语境

Context

认识伙伴关系的本质

Realizing the Nature of the Partnership

了解你的业务背景

Being Aware of Your Business Context

技术决策需要合作

Technical Decisions Require Partnerships

要点:技术决策是政治决策

Key Point: Technical Decisions Are Political Decisions

首先介绍情况(提供背景)

Presenting the Situation First (Give Context)

获得合作伙伴的支持

Having Your Partners’ Backs

为合作伙伴的成功做出贡献

Contributing to Your Partners’ Successes

人数越多越安全

Safety in Numbers

合作

Collaboration

带来价值

Bringing Value to the Table

成为导师

Becoming a Mentor

寻求导师

Seeking a Mentor

合作伙伴关系可以成为机遇之源

Partnerships Can Be a Source of Opportunity

合作是迈向创意的一步

Partnerships Are a Step toward Ideation

合作推动更牢固的伙伴关系

Collaboration Drives Stronger Partnerships

关系

Relationships

合作关系不仅仅关乎商业

Partnerships Are Not Just about Business

提款前先存款

Making Deposits before You Start Withdrawing

外部合作伙伴

External Partnerships

过去有过不愉快的经历吗?

Bad Experiences in the Past?

避开组织内刻薄的成员

Avoiding Caustic Members of the Organization

概括

Summary

参考

References

第二章:发现

Chapter 2: Discovery

什么是发现?

What Is Discovery?

探索之钥

The Keys to Discovery

了解客户

Understanding the Customer

与销售、营销和新产品开发部门合作

Partnering with Sales, Marketing, and New Product Development

与客户会面

Meeting with Customers

什么会让顾客高兴?

What Will Delight the Customer?

了解市场

Understanding the Market

了解客户的客户

Learning about the Customers’ Customers

顾客愿意在哪里花钱?

Where Are the Customers Willing to Spend Money?

竞争对手在做什么?

What Is the Competition Doing?

倾听顾客的主题

Listening to Themes across Customers

了解您的业务

Understanding Your Business

了解你的企业想要做什么

Learning What Your Business Wants to Do

个性化公司战略目标

Personalizing Your Company’s Strategic Goals

为决策制定提供商业背景

Developing a Business Context for Decision Making

概括

Summary

参考

References

第 3 章:概念化

Chapter 3: Conceptualization

构思

Ideation

尽早参与

Getting Involved Early

概念化:将想法变成现实

Conceptualization: Bringing Ideas to Life

概念形成

Concept Formation

他们说什么语言?

What Language Are They Speaking?

正在讨论什么问题?

What Problem Is Being Discussed?

参加创意聚会时,要谨慎承诺

When Arriving Late to the Ideation Party, Be Cautious about Committing

这个概念是什么样的?

What Does This Concept Look Like?

概念具体化

Concept Reification

最小可行产品

Minimum Viable Product

实验的必要性

The Need for Experimentation

建立假设有助于协调愿景

Establishing Assumptions Can Help Harmonize the Vision

建立基本能力和客户角色

Establishing Essential Capabilities and Customer Roles

与客户具体化

Reify with Customers

概念演变

Concept Evolution

作为一名历史系的学生

Being a Student of History

拥抱多种观点

Embracing Multiple Perspectives

追求概念完整性

Seeking Conceptual Integrity

识别邻近机会

Recognizing Adjacent Opportunities

概括

Summary

参考

References

第 4 章:估算

Chapter 4: Estimation

估算概览

Estimates Overview

估算的目的是什么?

What Is the Purpose of the Estimate?

是否有已建立的项目背景?

Is There an Established Project Context?

什么是建筑方法?

What Is an Architectural Approach?

了解估算过程

Understanding the Estimating Process

估算管道

Estimating Pipeline

项目类型

Types of Projects

项目融资的替代方法

Alternative Ways of Financing Projects

了解业务流程

Understanding the Business Process

开发架构方法

Developing the Architectural Approach

这是合作关系还是合同关系?

Is This a Partnership or a Contractual Relationship?

该项目的商业理由是什么?

What Is the Business Rationale for the Project?

营销方法是什么?

What Is the Marketing Approach?

这是重复估计吗?

Is This a Repeat Estimate?

您发现了哪些风险?您能减轻这些风险吗?

What Risks Have You Identified? Can You Mitigate Them?

您正在构建平台吗?

Are You Building a Platform?

您要重新平台化吗?

Are You Re-platforming?

正在发挥作用的是哪些技术?

What Technologies Are in Play?

组织结构是怎样的?

What Is the Organizational Structure?

您需要寻求外部研究吗?

Do You Need to Seek External Research?

您是否已确定可利用的组件?

Have You Identified Leverageable Components?

评估策略

Estimating Strategies

应对未知和挑战

Plan for Unknowns and Challenges

要现实:不要为了得到项目而屈服

Be Realistic: Don’t Cave In Just to Get the Project

把关键的东西放在身边

Keep the Critical Things Close

开发评估反馈回路

Develop Estimating Feedback Loops

最小化组织耦合和内聚

Minimize Organization Coupling and Cohesion

随时使用 PowerPoint

PowerPoint as You Go

制定清单

Develop Checklists

尽早获得高管和组织的支持

Gain Executive and Organization Buy-in Early

估算原则

Estimating Principles

了解难题

Know the Hard Problem

提供选项

Provide Options

让设计决策保持开放

Leave Design Decisions Open

了解时间表

Know the Schedule

知道你想要什么

Know What You Want

避免消极

Avoid Being Negative

寻找说“是”的机会

Seek Opportunities to Say Yes

现在就努力讨价还价,而不是以后

Bargain Hard Now, Not Later

不要屈服

Don’t Cave In

相信你的直觉

Trust Your Gut Feeling

警惕他人已估算的项目

Beware of Projects That Others Have Estimated

了解企业的​​目标建造价格

Know the Business’s Targeted Build Price

整合所有

Bringing It All Together

了解你的时间表

Knowing Your Timeline

谁参与估算?

Who Is Involved with Estimating?

了解你的杠杆点

Understanding Your Leverage Points

综合起来

Putting It All Together

吸引高管

Engaging Executives

出售估价

Selling the Estimate

概括

Summary

参考

References

第五章:管理

Chapter 5: Management

架构管理定义

Architecture Management Defined

建筑责任领域

Areas of Architectural Responsibility

追求技术卓越

Striving toward Technology Excellence

建立愿景

Establishing a Vision

提高对技术债务的认识并为正确的解决方案提供资金

Raising Awareness of Technical Debt and Funding the Right Solution

保持技术环境​​的有趣

Keeping the Technical Environment Interesting

寻找潜在专利

Finding Potential Patents

寻求数据中心和运营支持

Seeking Data Center and Operations Support for Your Direction

解决方案的推广

Generalizing the Solution

使其具有战略性

Making It Strategic

利用解决方案

Leveraging Solutions

交付项目

Delivering Projects

与项目经理合作

Partnering with the Project Manager

彻底消除依赖关系

Eliminating Dependencies Ruthlessly

管理期望

Managing Expectations

掌握开发流程

Mastering the Development Process

身处问题所在

Being Where the Problems Are

意识到项目的不透明度

Being Aware of Nontransparency on Your Projects

限制担任领导职务的合同工数量

Limiting the Number of Contractors in Leadership Positions

提供技术管理(责任范围)

Providing Technical Management (Areas of Responsibility)

走动式管理

Managing by Walking Around

解决问题

Resolving Issues

提出尖锐问题

Asking the Tough Questions

处理当下的问题

Dealing with Problems in the Moment

说“不”,但有选择

Saying No, but with Options

努力保持一致的决定

Striving to Be Consistent in Your Decisions

学会正面处理事情,把牌面朝上

Learning to Deal with Things Head-on, Cards Faceup on the Table

了解谈判时你愿意让步什么

Knowing What You Are Willing to Cave On When Negotiating

愿意(尊重地)挑战你不同意的领域

Being Willing to Challenge Areas You Don’t Agree with (Respectfully)

愿意坚持自己的立场

Being Willing to Stand Your Ground

知道什么不是你的问题

Knowing What Is Not Your Problem

与高管合作

Partnering with Executives

通过透明度管理风险

Managing Risk through Transparency

审查估算

Reviewing Estimates

限制图表上的框数

Limiting the Number of Boxes on Diagrams

提高技术意识

Raising Technology Awareness

获得老板的支持

Having Your Boss’s Back

避免打断高管的谈话

Avoiding Interrupting Executives When They Are Talking

充满自信

Being Confident

管理你的时间

Managing Your Time

限制您承诺的项目数量

Limiting the Number of Projects to Which You Commit

定义你的角色并限制它

Defining Your Role and Bounding It

优先考虑将时间花在哪里

Prioritizing Where to Engage Your Time

学会在有限的数据和有限的时间内做出决策

Learning to Make Decisions on Limited Data and with Limited Time

仅当您是积极参与者时才参加会议

Attending Meetings Only If You Are an Active Participant

获得最后期限

Getting a Deadline

委托给你信任的人

Delegating to Those You Trust

亲自会面

Meeting in Person

培养技术人才

Grooming Technical Talent

拥有建筑指导计划

Having an Architecture Mentorship Program

举办技术论坛

Having a Technology Forum

鼓励技术团队成员参加当地会议和用户组

Encouraging Members of Your Technical Team to Attend Local Conferences and User Groups

聘用最优秀的人才:不要只填补一个职位

Hiring the Best People: Don’t Just Fill a Position

增强你的技能

Enhancing Your Skill Set

与其他建筑师坐在一起

Sitting with Other Architects

每天做一些技术性的事情

Doing Something Technical Every Day

关注令你恐惧的事情

Focusing on What Scares You

成为某一领域的专家

Becoming an Expert in an Area

寻找可以提高技能的项目

Looking for Projects Where You Can Grow Your Skills

概括

Summary

参考

References

第二部分:技术技能

Part II: Technology Skills

第六章:平台开发

Chapter 6: Platform Development

平台开发定义

Platform Development Defined

平台开发的要素

The Elements of Platform Development

功能

Capabilities

定义目标集

Defining the Set of Objectives

定义功能集

Defining the Set of Capabilities

关注可利用的能力

Focusing on Leverageable Capabilities

开发强大的概念模型

Developing a Strong Conceptual Model

API 是王国的钥匙

APIs Are the Keys to the Kingdom

生态系统

Ecosystem

平台用户

Platform Users

平台所有权

Platform Ownership

平台管理

Platform Management

平台开发

Platform Development

确认与平台相关的成本

Acknowledging the Costs Associated with the Platform

管理平台质量

Managing Platform Quality

平台集成

Platform Integration

可扩展性

Scalability

安全

Security

指导原则

Guiding Principles

追求卓越品质

Seek Exceptional Quality

追求卓越运营

Seek Operational Excellence

寻求可配置性而非硬编码

Seek Configurability over Hard Coding

寻求杠杆作用

Seek Leverageability

寻求冗余架构

Seek Redundant Architecture

寻求线性可扩展性

Seek Linear Scalability

避免平台纠缠

Avoid Platform Entanglement

避免平台蔓延

Avoid Platform Sprawl

不断升级到现有技术

Keep Upgrading to Current Technologies

概括

Summary

参考

References

第 7 章:建筑透视

Chapter 7: Architectural Perspective

建筑透视定义

Architectural Perspective Defined

建筑原则

Architectural Principles

最小意外原则

The Principle of Least Surprise

最少知识原则(又称迪米特法则)

The Principle of Least Knowledge (aka the Law of Demeter)

最省力原则(又称齐普夫定律)

The Principle of Least Effort (aka Zipf’s Law)

机会成本原则

The Principle of Opportunity Cost

单一职责原则

The Principle of Single Responsibility

简约原则(又称奥卡姆剃刀或 KISS)

The Principle of Parsimony (aka Occam’s Razor or KISS)

最后责任时刻原则(又称延迟成本)

The Principle of Last Responsible Moment (aka Cost of Delay)

反馈原则

The Principle of Feedback

建筑问题

Architectural Concerns

可用性

Availability

可扩展性

Scalability

可扩展性

Extensibility

重复性

Repeatability

兼容性

Compatibility

可持续发展

Sustainability

安全、灾难恢复、业务连续性和开源许可

Security, Disaster Recovery, Business Continuity, and Open-Source Licensing

第三方集成

Third-Party Integration

建筑交流

Architectural Communication

领域模型

Domain Model

流程图

Process Diagram

上下文图

Context Diagram

用户界面模型

User Interface Mock-ups

逻辑架构图

Logical Architecture Diagram

执行概览图

Executive Overview Diagram

硬件环境图

Hardware Environments Diagram

风险、假设、问题和依赖关系 (RAID)

Risks, Assumptions, Issues, and Dependencies (RAID)

整合所有

Bringing It All Together

概括

Summary

参考

References

第 8 章:治理

Chapter 8: Governance

治理定义

Governance Defined

治理原则

Governance Principles

避免供应商锁定

Avoid Vendor Lock-in

鼓励使用开源

Encourage Open-Source Usage

最大限度地降低中断成本(即实现业务连续性规划和灾难恢复)

Minimize the Cost of Disruption (aka Enable Business Continuity Planning and Disaster Recovery)

实现业务部门之间的松散耦合

Enable Loose Coupling between Business Units

利用通用功能

Leverage Common Capabilities

确保法规合规性

Ensure Regulatory Compliance

确保安全

Ensure Security

最小特权原则(又称最小权威原则)

The Principle of Least Privilege (aka the Principle of Least Authority)

寻求统一的身份和访问管理

Seek Unified Identity and Access Management

寻求数据可移植性(又称避免数据锁定)

Seek Data Portability (aka Avoid Data Lock-in)

寻求集成和自动化

Seek Integration and Automation

治理领域

Areas of Governance

估计

Estimates

管理问题

Management Concerns

建筑学

Architecture

设计

Design

构建、编码、集成、部署、测试和监控

Building, Coding, Integrating, Deploying, Testing, and Monitoring

治理与敏捷的健康张力

Governance and a Healthy Tension with Agile

概括

Summary

参考

References

第 9 章:诀窍

Chapter 9: Know-how

专业知识定义

Know-how Defined

发展专业知识

Developing Know-how

发展专业知识相关性

Developing Know-how Relevance

发展技术货币

Developing Know-how Currency

发展卓越技术

Developing Know-how Excellence

专业知识综合

Know-how Synthesis

技术驱动架构

Know-how-Driven Architecture

概括

Summary

参考

References

第三部分:远见卓识

Part III: Visionary Skills

第十章:技术创新

Chapter 10: Technology Innovation

技术创新定义

Technology Innovation Defined

趋势意识

Trend Awareness

趋势意识领域

Areas of Trend Awareness

运用趋势意识

Applying Trend Awareness

业务协调

Business Alignment

关注客户咨询的趋势

Paying Attention to Trends on Customer Inquiries

获取客户反馈

Getting Customer Feedback

分析客户反馈

Analyzing Customer Feedback

何时应谨慎对待趋势

When to Be Cautious about Trends

何时拥抱趋势

When to Embrace a Trend

战略研究

Strategic Research

研究方法

Research Approaches

技术创新原则

Technology Innovation Principles

寻求批准但最少的时间和资金进行探索

Seek Approved but Minimal Time and Funding to Explore

下小赌注

Make Small Bets

使用技术侦察定期扫描和跟踪趋势

Use Technology Scouting to Scan and Track the Trends Regularly

有一个实验室区域

Have a Lab Area

利用用户反馈循环进行快速实验

Use Rapid Experimentation with User Feedback Loops

向企业和客户展示原型

Show the Business and Customers Prototypes

在边缘引入新技术

Introduce New Technologies at the Edge

务实科技创新

Pragmatic Technology Innovation

概括

Summary

参考

References

第 11 章:战略路线图

Chapter 11: Strategic Roadmapping

战略路线图定义

Strategic Roadmapping Defined

战略路线图的要素

Elements of a Strategic Roadmap

战略重点

Strategically Focused

时间顺序

Time Sequenced

由 Swim Lanes 组织

Organized by Swim Lanes

依赖性感知

Dependency Aware

视觉呈现

Visually Represented

本质上的协作

Collaborative in Nature

代号

Code Named

上下文相关(个性化)

Context Dependent (Personalized)

多学科和专业

Multidisciplinary and Specialized

优先考虑

Prioritized

本质上是迭代的

Iterative in Nature

更新

Updated

发布

Published

可衡量

Measurable

路线图策略

Roadmapping Strategies

使用便签在白板上绘制路线图

Whiteboarding the Roadmap Using Sticky Notes

从结尾开始(又称逆向工作)

Starting with the End (aka Work Backward)

举办研讨会

Holding Workshops

将路线图视为一个项目

Thinking of Roadmapping as a Project

把握基本指导原则

Capturing Underlying Guiding Principles

路线图原则

Roadmapping Principles

把事情简单化

Keep It Simple

与企业合作

Partner with the Business

动起来

Get Moving

玩得开心

Have Fun

没有目标的策略毫无意义

Strategies without Goals Are Pointless

确定需要研究和创新的领域

Identify Areas That Require Research and Innovation

识别技能和知识差距

Identify Skill and Knowledge Gaps

灵活安排到达目的地的时间

Be Flexible on the Timing of Getting to the Destination

愿意走一条新路

Be Willing to Take a New Route

不关注细节;关注目标和关键里程碑

It’s Not about the Details; Focus on the Destination and Key Milestones

追随能给你带来能量的事物

Follow What Energizes You

建筑师在路线图制定中扮演什么角色?

What Is an Architect’s Role in Roadmapping?

您可以在哪里使用路线图?

Where Can You Use Roadmaps?

路线图注意事项

Roadmap Considerations

路线图社会化

Roadmap Socialization

庆祝取得的里程碑

Celebrating Milestones Achieved

概括

Summary

参考

References

第 12 章:创业执行

Chapter 12: Entrepreneurial Execution

创业执行力定义

Entrepreneurial Execution Defined

创业执行的要素

Elements of Entrepreneurial Execution

企业精神

Entrepreneurial Spirit

计算风险承担

Calculated Risk Taking

取得成果

Delivering Results

创业执行原则

Entrepreneurial Execution Principles

可承受损失原则

Affordable Loss Principle

柠檬水原则

Lemonade Principle

拼布被子原理

Patchwork Quilt Principle

手中鸟原则

Bird-in-the-Hand Principle

飞行员在飞机上的原理

Pilot-in-the-Plane Principle

抓住时机

Seize the Moment

追随你的激情

Follow Your Passion

学会转变

Learn to Pivot

边做边学(犯错),但要经济高效

Learn by Doing (Making Mistakes), but Do It Cost-Effectively

寻求反馈

Seek Feedback

寻求杠杆

Seek Leverage

具有创业执行力的架构设计

Architecting with Entrepreneurial Execution

概括

Summary

参考

References

结语:总结

Epilogue: Bringing It All Together

关于技能发展的思考

Thinking about Skill Development

最后的想法

Final Thought

指数

Index

前言

Preface

“建筑不是一个适合胆小者、意志薄弱者或短命者的职业。”

“Architecture is not a profession for the faint-hearted, the weak-willed, or the short-lived.”

—马丁·菲勒

—Martin Filler

“建筑和建造是关于如何绕过你遇到的障碍。这有时决定了你的成功程度:你在绕过障碍方面有多擅长?”

“Architecture and building is about how you get around the obstacles that are presented to you. That sometimes determines how successful you’ll be: How good are you at going around obstacles?”

—杰瑞米·雷纳

—Jeremy Renner

“建筑是一种服务行业。建筑师会得到一个方案、预算、地点和时间表。有时最终产品会上升为艺术——或者至少人们这样称呼它。”

“Architecture is a service business. An architect is given a program, budget, place, and schedule. Sometimes the end product rises to art—or at least people call it that.”

—弗兰克·盖里

—Frank Gehry

“建筑就是发明。”

“Architecture is invention.”

—奥斯卡·尼迈耶

—Oscar Niemeyer

“我喜欢逻辑、数学、计算机编程。我喜欢系统和逻辑方法。所以我认为建筑是完美的结合。”

“I loved logic, math, computer programming. I loved systems and logic approaches. And so I just figured architecture is this perfect combination.”

—林璎

—Maya Lin

“我一直在思考建筑。这就是问题所在。但我一直都是这样。有时我会梦到它。”

“I think about architecture all the time. That’s the problem. But I’ve always been like that. I dream it sometimes.”

—扎哈·哈迪德

—Zaha Hadid

“互联网可能是我一生中最重要的技术进步。它的优势在于其开放的架构,以及它能够提供一个让所有声音都能被听到的框架。”

“The Internet is probably the most important technological advancement of my lifetime. Its strength lies in its open architecture and its ability to allow a framework where all voices can be heard.”

—亚当·萨维奇

—Adam Savage

书籍动机

Book Motivation

本书和我的第一本书(软件架构师的 12 项基本技能)重点关注成为一名成功的软件架构师所需的技能。

This book and my first book (12 Essential Skills for Software Architects) focus on the skills needed to become a successful software architect.

软件架构是关于学习如何与人相处以及如何从架构的角度思考问题。软件架构师的 12 项基本技能侧重于软技能;如果没有这些技能,剩下的旅程几乎是不可能的。

Software architecture is about learning how to relate to people and learning how to think about things with an eye toward architecture. 12 Essential Skills for Software Architects focused on soft skills; without these, the rest of the journey is nearly impossible.

在我完成第一本书后不久,我开始收到关于假定的技术技能(如图 P.1所示)的问题,这些问题被提及但并未讨论。

Shortly after I completed my first book, I began receiving questions about the assumed technical skills (shown in Figure P.1) that are referred to but not discussed.

图像

图 P.1软件架构师的 12 项基本技能

Figure P.1 Twelve essential skills for software architects

本书深入探讨了这些假定技能的细节——作为一名建筑师,您每天需要的技术技能。它是软技能技术技能的结合,可以帮助您实现目标。

This book dives into the details of those assumed skills—the technical skills you need on a daily basis in the role of an architect. It is the combination of soft and technical skills that will enable you reach your goals.

图书目标

Book Goals

我写这本书的目标是

My goals for this book are to

图像通过技能开发实现软件架构的卓越

Enable excellence in software architecture through skills development

图像在商业环境中实现架构成功

Enable architectural success in a business context

图像推广一种思考企业的架构方法

Promote an architectural approach for thinking about the enterprise

图书组织

Book Organization

本书的格式和风格旨在帮助您激发对特定项目集、架构监督领域和方向制定领导领域的批判性思考。这些以项目技能、技术技能和愿景技能的形式呈现。

The format and style of this book are intended to help evoke critical thinking about your specific set of projects, your areas of architectural oversight, and your areas of direction-setting leadership. These take the form of project skills, technology skills, and vision skills.

这三个领域组织如下:

These three areas are organized as follows:

图像 第一部分项目技能这些技能使您能够通过以下方式推动项目从早期构思到项目交付

Part I: Project Skills. These skills enable you to drive projects from early ideation to project delivery through

图像合伙关系(第 1 章

Partnership (Chapter 1)

图像发现(第 2 章

Discovery (Chapter 2)

图像概念化(第 3 章

Conceptualization (Chapter 3)

图像估算(第 4 章

Estimation (Chapter 4)

图像管理(第 5 章

Management (Chapter 5)

图像 第二部分技术技能这些技能确保通过以下方式构建、购买或利用正确的技术

Part II: Technology Skills. These skills ensure that the right technologies are built, bought, or leveraged through

图像平台开发(第六章

Platform Development (Chapter 6)

图像建筑透视(第 7 章

Architectural Perspective (Chapter 7)

图像治理(第 8 章

Governance (Chapter 8)

图像诀窍(第 9 章

Know-how (Chapter 9)

图像 第三部分远见技能这些技能使企业能够通过以下方式追求长期竞争愿景:

Part III: Visionary Skills. These skills enable the pursuit of the business’s long-term competitive vision through

图像技术创新(第十章

Technology Innovation (Chapter 10)

图像战略路线图(第 11 章

Strategic Roadmapping (Chapter 11)

图像创业执行(第 12 章

Entrepreneurial Execution (Chapter 12)

这三个部分可以看作是软件架构师的分层技能集(见图P.2)。每一层都是上一层的基础。

The three parts can be thought of as a layered set of skills for software architects (see Figure P.2). Each layer is the basis for the layer above it.

图像

图 P.2技术技能金字塔

Figure P.2 Technical skills pyramid

本书中的每一章都是独立阅读的。这种独立性应该能够让您按照自己的兴趣或需求顺序阅读本书。

Each of the chapters within the book is written to be read independently of the other chapters. This independence should enable you read the book in the order of your interests or needs.

我希望您喜欢阅读这本书,并且学到一些新的东西,使您成为一名优秀的建筑师,并更好地理解建筑师的角色。

I hope you enjoy reading the book and that you learn some new things that will enable you to become an excellent architect and better understand the role of an architect.

如果您有任何问题或意见,请随时通过dave@hendricksen.org与我联系。

If you have any questions or comments, please feel free to contact me at dave@hendricksen.org.

致谢

Acknowledgments

我想感谢 Addison-Wesley 的优秀员工,特别是 Olivia Basegio、Sheri Cain、Chris Guzikowski、Chuti Prasertsith、Kesel Wilson 和 Barbara Wood。与他们合作非常愉快。

I would like to say thank you to the excellent staff at Addison-Wesley, specifically Olivia Basegio, Sheri Cain, Chris Guzikowski, Chuti Prasertsith, Kesel Wilson, and Barbara Wood. They have been absolutely fantastic to work with.

我要感谢 Brad Appleton、Kevin Bodie、Robert Maksimchuk 和一位不愿透露姓名的评论者审阅了我的初稿。他们都给了我很好的反馈。

I would like to thank Brad Appleton, Kevin Bodie, Robert Maksimchuk, and one reviewer who chose to remain anonymous for reviewing my first draft of the book. They all gave me great feedback.

我还要感谢汤森路透的以下审阅者:Mick Atton、Dan Bennett、Cary Felbab、Scott Francis、Kevin Hakanson、Jesse Haraldson、James Jarvis、Andrew Lipstein、Andrew Martens、Lynn Meredith、Scott Post、Noah Pruzek、Chris Rowland、Bob Sturm、Bas Vellekoop 和 Justin Wright。他们每个人都审阅了各自专业领域的部分章节。

I would also like to thank the following reviewers from Thomson Reuters: Mick Atton, Dan Bennett, Cary Felbab, Scott Francis, Kevin Hakanson, Jesse Haraldson, James Jarvis, Andrew Lipstein, Andrew Martens, Lynn Meredith, Scott Post, Noah Pruzek, Chris Rowland, Bob Sturm, Bas Vellekoop, and Justin Wright. Each of them reviewed selected chapters in their areas of expertise.

此外,我还要感谢我的妻子詹妮弗和儿子蒂姆对本书的评论。

In addition, I would like to say thank you to my wife, Jennifer, and son, Tim, for reviewing the book.

最后,我要感谢我的家人和父母,感谢他们在我写第二本书时的耐心和支持。

Finally, I would like to say thank you to my family and parents for their patience and support while I wrote this second book.

关于作者

About the Author

“最复杂的技能就是简单。”

“The most complicated skill is to be simple.”

—德扬·斯托亚诺维奇

—Dejan Stojanović

“我致力于创造一种不会被夺走的建筑。”

“I strive for an architecture from which nothing can be taken away.”

—赫尔穆特·扬

—Helmut Jahn

我叫 Dave Hendricksen,是汤森路透的大数据架构师。如今,我大部分时间都在从事汤森路透的大数据相关项目。我还参与过 WestLawNext(一种在线法律研究工具)、Optimus(一种学习平台)以及各种其他项目,这些项目通常专注于新产品开发——我喜欢创新。我还帮助运营和组织汤森路透的架构师指导计划和技术论坛。

My name is Dave Hendricksen, and I am a Big Data architect for Thomson Reuters. These days I spend most of my time working on big data-related projects that span Thomson Reuters. I have also worked on WestLawNext (an online legal research tool), Optimus (a learning platform), and a wide variety of other projects, generally focused on new product development—I love to innovate. I also help run and organize an architecture mentorship program and a technology forum at Thomson Reuters.

每天都很忙碌且充满挑战;但对我来说,这也意味着有趣和投入。

Every day is busy and challenging; for me that equates to fun and engaging.

我和一位美丽的女士结婚 25 年了。我们有两个可爱的孩子、一只猫、一只狗和一个锦鲤池。我们有一些湖边地产——这似乎是居住在明尼苏达州这个万湖之国的必备条件。这里也是夏季建筑项目的所在地:投石机、卡丁车、雨水桶集水系统、机器人割草机等等。

I have been married for 25 years to a beautiful lady. We have two great kids, one cat, one dog, and a koi pond. We have some lake property—it seems as if that’s a requirement when you live in Minnesota, the Land of Ten Thousand Lakes. It is also the location of summertime building projects: trebuchet, go-cart, rain barrel water collection system, robotic lawn mower, and so on.

同样,我花了大量时间指导伊根高中 FIRST 机器人团队。我们试图像经营小型企业一样经营我们的项目——我们需要筹集资金、推销我们的团队、开发产品并参加比赛。

In a similar vein, I spend a fair amount of time mentoring the Eagan High School FIRST Robotics Team. We try to run our program like a small business—we need to raise money, market our team, build a product, and compete in tournaments.

担任大型机器人团队(超过 80 名孩子和 30 名导师)的首席导师与担任大型开发项目的架构师有很多相似之处。对于应该做什么,有各种各样的意见,资源有限,时间有限,你需要交付一个成功的产品。

Being the lead mentor for a large robotics team (more than 80 kids and more than 30 mentors) has many parallels to being an architect on large-scale development projects. There are a wide variety of opinions of what should be done, limited resources, limited time, and you need to deliver a successful product.

简而言之,我喜欢计划、研究、组织、教学、指导、设计和建造事物。

In short, I love to plan, research, organize, teach, mentor, architect, and build things.

第一部分:项目技能

Part I: Project Skills

“我相信建筑是一门实用的艺术。要成为艺术,它必须建立在必要性的基础上。对我来说,表达自由在于在我为每项工作分配的可测量范围内移动。记住列奥纳多·达芬奇的忠告“力量源于约束,死于自由”是多么有启发意义。”

“I believe that architecture is a pragmatic art. To become art it must be built on a foundation of necessity. Freedom of expression, for me, consists in moving within a measured range that I assign to each of my undertakings. How instructive it is to remember Leonardo da Vinci’s counsel that ‘strength is born of constraint and dies from freedom.’”

—贝聿铭

—I. M. Pei

“我知道成功的代价:奉献、努力工作以及对想要实现的事情坚持不懈的投入。”

“I know the price of success: dedication, hard work, and an unremitting devotion to the things you want to see happen.”

—弗兰克·劳埃德·赖特

—Frank Lloyd Wright

“建筑应该诉说它的时间和地点,但渴望永恒。”

“Architecture should speak of its time and place, but yearn for timelessness.”

—弗兰克·盖里

—Frank Gehry

“制定宏伟计划;满怀希望并努力工作,记住,一旦记录下来,高尚的、合乎逻辑的图表就不会消失。”

“Make big plans; aim high in hope and work, remembering that a noble, logical diagram once recorded will not die.”

—丹尼尔·伯纳姆

—Daniel Burnham

“没有多少建筑师有能力拒绝重要的事情。”

“Not many architects have the luxury to reject significant things.”

—雷姆·库哈斯

—Rem Koolhaas

第一部分重点介绍架构师的五项基本项目技能。这些章节重点介绍与项目架构监督相关的原则、策略和其他领域,例如处理驱动估算,以帮助您更有效地管理架构。这些章节的组织方式如下:

Part I focuses on five essential project skills for an architect. These chapters focus on principles, strategies, and other areas related to project architecture oversight, such as dealing with drive-by estimates to help you become more effective in managing your architecture. These chapters are organized as follows:

图像 第 1 章合作关系”将帮助您

Chapter 1, “Partnership,” will enable you to

图像与您的业务组织保持一致

Align with your business organization

图像与利益相关者建立相互信任

Establish mutual trust with your stakeholders

图像在商业环境中工作

Work within the business context

图像与您的业务同事协同工作

Work collaboratively with your business colleagues

图像建立并维持整个业务范围内的关系

Establish and maintain relationships throughout the business

图像 第 2 章发现”将帮助你

Chapter 2, “Discovery,” will enable you to

图像有效探索业务新领域

Explore new areas with the business effectively

图像深入了解你的客户、业务和市场

Gain a deep understanding of your customers, your business, and your marketplace

图像 第 3 章概念化”将帮助你

Chapter 3, “Conceptualization,” will enable you to

图像帮助企业制定产品创意并将其发展为产品概念

Help the business formulate product ideas and develop them into product concepts

图像具体化产品概念

Reify product concepts

图像将产品概念发展为具有坚实架构基础的明确产品

Evolve product concepts into well-defined products with a solid architectural foundation

图像 第 4 章估算”将帮助你

Chapter 4, “Estimation,” will enable you to

图像领导技术团队估算项目

Lead technical groups in estimating projects

图像识别项目风险、假设、问题和依赖关系

Identify project risks, assumptions, issues, and dependencies

图像帮助向项目利益相关者(包括高管)传达估算结果

Help communicate the estimates to project stakeholders, including executives

图像 第 5 章管理”将帮助你

Chapter 5, “Management,” will enable you to

图像管理架构责任领域

Manage the architectural areas of responsibility

图像帮助推动项目从开始到交付给客户

Help drive projects from inception through customer delivery

项目技能构成了成为一名建筑师所需的基础技能(见图PI.1)。

Project skills comprise the foundational layer of skills needed to be an architect (see Figure PI.1).

图像

图PI.1建筑师必备技能(项目技能)

Figure PI.1 Essential architect skills (project skills)

项目技能不一定按顺序排列。您需要了解何时使用它们。与企业合作、发现和概念化新解决方案以给客户带来价值以及交付解决方案是项目架构生命周期的基础(参见图 PI.2 )和第 I 部分的重点。

The project skills are not necessarily sequenced. You need to learn the context of when to use them. Partnering with the business, discovering and conceptualizing new solutions to bring value to customers, and delivering the solutions are the foundations for the architectural life cycle of a project (see Figure PI.2) and the focus of Part I.

图像

图PI.2建筑项目生命周期

Figure PI.2 Architectural project life cycle

第一章 合伙

Chapter 1. Partnership

“如果我们团结一致,一切皆有可能。如果我们分裂,一切都会失败。”

“If we are together nothing is impossible. If we are divided all will fail.”

-温斯顿·丘吉尔

—Winston Churchill

“在这股新技术浪潮中,你不可能独自完成所有事情,你必须建立联盟。”

“In this new wave of technology, you can’t do it all yourself, you have to form alliances.”

—卡洛斯·斯利姆·埃卢

—Carlos Slim Helú

“如果你能更协作地运营公司,你就会得到更好的结果,因为你拥有更多的带宽以及更多的检查和平衡。”

“If you can run the company a bit more collaboratively, you get a better result, because you have more bandwidth and checking and balancing going on.”

—拉里·佩奇

—Larry Page

“远离那些贬低你抱负的人。小人物总是这样做,但真正伟大的人会让你觉得你也可以变得伟大。”

“Keep away from people who belittle your ambitions. Small people always do that, but the really great make you feel that you too can become great.”

—马克·吐温

—Mark Twain

你见过看似简单直接的技术决策,却演变成政治混乱吗?相反,你见过看似充满政治意味的决策,却顺利通过,没有在组织内引起一丝紧张吗?在这两种情况下,似乎都有一股神秘的力量在幕后运作。

Have you ever seen what appears to be a simple, straightforward technical decision unwind into political chaos? Conversely, have you ever seen what appears to be a politically charged decision just flow through without so much as a ripple of tension in the organization? In both cases, there seems to be a mystical force at work behind the scenes.

在架构领域,每天都需要做出技术决策。需要考虑短期和长期的业务需求。你能否确定正确的方向,能否说服那些需要实施它、承担运营成本和销售它的人,将决定你是成功还是失败。

In the world of architecture, technical decisions need to be made every day. The needs of the business from both a short-term and a long-term perspective need to be considered. Your ability to determine the right direction and to convince those who need to implement it, to bear the operational costs, and to sell it will determine whether you are a success or a failure.

本章揭示了软件架构师所需的基本技能之一:快速形成和建立合作关系的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to quickly form and establish partnerships.

什么是合伙关系?

What Is a Partnership?

伙伴关系是一种建立相互信任的关系。它意味着即使面临反对,也愿意团结一致,共同追求目标。对于建筑师来说,建立伙伴关系至关重要——当反对出现时,它能让你集中精力,展现共同的立场。

A partnership is a relationship in which mutual trust is established. It is the willingness to stick together and pursue a goal even in the face of opposition. For an architect, forming partnerships is critical—it allows you to focus and present a common front when opposition comes.

建筑是一项社会活动。你得到的支持越多,你就越有可能成功。了解你的合作伙伴是谁;他们将是你的路标(见图1.1)。

Architecture is a social activity. The more buy-in you have, the more likely you are to succeed. Understand who your partners are; they will act as your guideposts (see Figure 1.1).

图像

图 1.1合作成功公式

Figure 1.1 Partnership success formula

与他人合作的能力可以让你避免成为孤岛。在技术世界中,即使目标或目的是正确的,孤岛也很容易被击败。另一方面,一群合作伙伴并不容易被击败。

The ability to partner with others allows you to avoid being an island. In the world of technology, islands are easily defeated even when the goal or purpose is the right thing to do. On the other hand, a band of partners is not easily defeated.

合作关系的关键方面是什么?

What Are the Key Aspects of a Partnership?

合作伙伴关系的关键要素是协调、信任、背景、协作和关系(见图1.2)。理解每个方面是本章的重点。

The key elements of a partnership are alignment, trust, context, collaboration, and relationship (see Figure 1.2). Understanding each aspect is the focus of this chapter.

图像

图 1.2伙伴关系的要素

Figure 1.2 The elements of partnership

花时间和精力在商业和技术社区内建立合作伙伴关系是经过时间考验的成功秘诀。

Taking the time and effort to build partnerships within both the business and technical communities is a time-proven formula for success.

结盟

Alignment

建立一个旨在指导与业务相关的软件和服务架构的社区对于确保业务的近期目标和长期愿景保持一致至关重要。

Establishing a community for the purpose of guiding the architecture of the software and services related to a business is essential to ensure that the business’s near-term goals and the long-term vision are well aligned.

我需要与谁成为合作伙伴?

With Whom Do I Need to Be Partners?

您需要建立的合作伙伴关系是多维的(见图1.3)。您需要与业务部门内甚至其他业务部门内的上级(高管)建立合作伙伴关系。您需要与将要执行工作的人员(经理、测试员、程序员、运营人员等)建立合作伙伴关系。您需要与同级人员(其他架构师、主管)建立合作伙伴关系。您可能还需要与集成合作伙伴(组织内、组织间以及可能跨公司)建立合作伙伴关系。最后,您需要与业务部门(新产品开发、营销、销售、财务、战略等)建立合作伙伴关系,即资助技术工作的人员。

The set of partnerships that you need to form is multidimensional (see Figure 1.3). You need to form partnerships with those above you (executives) within your business unit and potentially within other business units. You need to form partnerships with those who will be doing the work (managers, testers, coders, operations, etc.). You need to form partnerships with those who are your peers (other architects, directors). You may also need to form partnerships with those who are your integration partners (within your organization, across organizations, and potentially across companies). And finally, you need to form partnerships with the business (new product development, marketing, sales, finance, strategy, etc.)—those who fund technology efforts.

图像

图 1.3您和您的合作伙伴形成一个信任和透明的圈子。

Figure 1.3 You and your partners form a circle of trust and transparency.

因此,你可能会对自己说:“听起来我需要与每个人合作。”简短的回答是:在尽可能大程度上,在时间允许的范围内,是的。花时间与更多人合作做出决定(或者至少,让人们意识到这个决定)对你有好处。并不是每个人都会热情地关心这个决定,但所有人都会感激被告知。实际上,通常只有有限的时间来做决定,你需要在执行之前决定谁是关键利益相关者。评估这些利益相关者的一个非常快速的方法是问以下问题:

So, you might be saying to yourself, “It sounds like I need to be partners with everyone.” The short answer is: to the greatest degree possible and to the extent that time allows it, yes. The time spent to collaborate with more people in making a decision (or, minimally, creating awareness of a decision) will serve you well. Not everyone will care passionately about the decision, but all will appreciate being informed. As a practical matter, there is usually only a limited amount of time in which to make a decision, and you will need to decide who the critical stakeholders are before you execute. One really quick way to evaluate who these stakeholders are is to ask the following questions:

图像谁来支付开发成本?许可成本?

Who will pay for the development costs? The licensing costs?

图像谁来支付维护费用?扩容费用?安全费用?

Who will pay for the maintenance? The scaling costs? The safety costs?

图像谁拥有正在创建的资产?

Who owns the assets being created?

图像谁来支付迁移费用?

Who will pay for the migration costs?

图像谁来支付重组费用?如果重组发生在项目初始开发后的一年内,这可能是一个问题。如果重组发生在三年以上,则很可能不是问题。

Who will pay for the reengineering costs? If the reengineering occurs within a year of the project’s initial development, this may be an issue. If it occurs more than three years out, it most likely is a nonissue.

图像谁将支付运营和法律费用?

Who will pay for the operational and legal costs?

图像谁来开发该产品?测试它?

Who will develop the product? Test it?

图像谁拥有开发和运营的资源?

Who owns the resources for development? For operations?

图像谁拥有知识产权?

Who owns the intellectual property rights?

图像发展的政策归谁所有?

Who owns the policies governing development?

图像谁负责部署?谁决定产品部署在哪里?是否有区域、国家或国际法律来管理部署?

Who owns the deployment? Who determines where the product will be deployed? Are there regional, national, or international laws governing the deployment?

图像谁拥有长期战略?你是在启用它还是禁用它?

Who owns the long-term strategy? Are you enabling it or disabling it?

简而言之,首先要关注资金。谁会受到决策的财务影响?谁在寻求对客户最有利的方案?这些人就是你未来的合作伙伴。作为业务领导者,他们的职责和你一样,是寻找发展业务的方法并确保其未来的可持续性。

The short answer is to start by following the money. Who will be financially impacted by the decision? Who is seeking what is best for the customer? These are your future partners. Their roles as business leaders, as well as yours, is to find ways to grow the business and ensure its future sustainability.

寻找思想领袖

Finding the Thought Leaders

在每个行业中,总有一些人对可接受和理想的技术方向具有重大影响力。他们在行业内拥有合适的人脉,对整个行业正在发生的事情有着深刻的了解,并且能够把握技术脉搏。

In every business, there are those individuals who have significant influence with respect to the technical directions that are considered acceptable and desired. They have the right contacts within the industry, they have a solid sense of what is happening throughout the industry, and they have a finger on the pulse of technology.

您需要听取这些人的意见。

These are the individuals to whom you need to listen.

即使只是从远处了解他们的兴趣所在,并观察他们前进的方向,也可以为你提供一个可以效仿的模型。它还可以为你在不擅长的领域做出与技术相关的决策提供一条可能安全的道路。如果你遵循他们的技术方向,你需要了解他们这样做的理由,并确保它们适用于你的情况。

Even if it is from a distance, learning what they are interested in and watching the directions in which they are heading can give you a model to emulate. It can also give you a likely safe path for technology-related decisions in areas in which you are not an expert. If you follow their technology directions, you need to understand the rationale for them and ensure that they apply to your situation.

如果这些人在您的公司工作,您可能有机会偶尔与他们会面,并在您遇到任何棘手情况时将他们作为倾听者。

If these individuals work at your business, you may have the opportunity to meet with them occasionally and use them as a sounding board for any tougher situations that you encounter.

认识影响者

Knowing the Influencers

影响者是那些可以接受、拒绝、推翻或负面影响所做决定的人。在建筑界,这些人通常是其他建筑师、总监、副总裁、高级副总裁和首席技术官。

The influencers are the individuals who can accept, reject, override, or negatively influence the decisions being made. In the world of architecture, these are often other architects, directors, VPs, senior VPs, and CTOs.

这些人可能直接参与您的项目,也可能不直接参与,但在特定领域的决策方面,他们吸引了大多数管理层人员的注意力。如果他们不同意您的决策,他们将直接或间接地施加影响,对这些决策产生负面影响。

These individuals may or may not be directly involved with your project, but they hold the attention of most individuals in management when it comes to making decisions in particular areas. If they are not on board with the decisions you make, they will either directly or indirectly exert their influence to negatively impact those decisions.

关键是要发现谁是影响者,以及他们擅长哪些领域。当需要做出有关方向的决定时,你通常最好征求他们的意见。这样做有多种目的。

The key is to discover who the influencers are and what areas of expertise they have. When decisions about directions apply, you are usually best off seeking their opinion. This serves multiple purposes.

首先,他们通常是专家,对朝某个方向发展的利弊有着深刻的见解。你的情况不太可能完全是独一无二的,他们可能以前也遇到过;他们可能很清楚过去哪些方法行得通,哪些方法行不通。他们也可能知道公司或行业在这个领域的发展方向。

First, they usually are experts and have good insights into the pros and cons of heading in certain directions. It is unlikely that your situation is completely unique, and they may have encountered it before; they may have a good sense of what has or has not worked in the past. They may also have a sense of what direction the company or industry is heading in this area.

其次,当组织内的其他人来找他们了解所做出的决策是否合理时,专家就有机会充当你的销售人员。他们会了解你的问题、你寻求采取的方法以及曾经或正在考虑的解决方案。

Second, as others within the organization come to them to get a sense of whether the decisions being made are reasonable, the experts have an opportunity to act as salespeople for you. They will understand your problem, the approach you are seeking to take, and the solutions that were or are under consideration.

他们现在是作为合作伙伴而不是外部顾问。

They are now acting as partners instead of outside consultants.

建立可信赖的顾问

Establishing Trusted Adviser(s)

作为一名架构师,您需要建立一个由值得信赖的人组成的小型顾问委员会,您可以与他们分享想法,并从他们那里获得诚实的反馈。他们可以帮助您确定所采用方法中的缺陷、可能与该方法相关的风险、您可能没有考虑到的方法的其他好处,或者您可能想要咨询的其他人。

As an architect, you need to establish a small advisory board of trusted individuals with whom you can share ideas and from whom you can get honest feedback. They can help identify gaps in the approach you are taking, risks that may be associated with the approach, other benefits of the approach that you may not have considered, or others you may want to consult.

社区审查(架构审查委员会)

Community Review (Architecture Review Board)

在一些组织中,社区会对想法、技术决策和方法进行审查。这次审查是一个机会,可以聚集在不同阶段对想法的反馈。这个过程很有用,原因有很多;大多数人会给你

In some organizations, there is a process of community review of ideas, technical decisions, and approaches. This review is an opportunity to gather feedback about ideas at various stages. The process can be useful for a variety of reasons; most people will give you

图像诚实地反馈过去类似的经历

Honest feedback on their similar experiences from the past

图像您可能需要考虑的替代方案建议

Suggestions for alternatives you may want to consider

图像您可能想要咨询的其他人的想法

Ideas for others you may want to consult

图像同意该方法是合理的(这在以后可能会有用,表明该决定不是孤立做出的)

Agreement that the approach is reasonable (which can be useful later on, to show that the decision was not made in isolation)

目标是利用社区来利用其他人的经验和知识。

The goal is to use the community to leverage other people’s experiences and knowledge.

在做出关键决策之前寻求共识

Seeking Alignment before Making Key Decisions

架构审查委员会通常会破坏您试图推广的架构方向。为了防止这种情况发生,请在董事会会议之前花时间与主要架构师会面,以确保他们的顾虑得到解决。这将有助于架构审查顺利进行,原因有两个。首先,要么关键的绊脚石已被消除,要么决策的理由将得到更好的解释。其次,该小组需要的教育较少,而且您现在可能会有盟友来帮助推销您的架构方法。

Architecture review boards can often derail the architectural directions you are trying to promote. To help prevent this, take the time to meet with key architects in advance of the board meeting to ensure that their concerns are addressed. This will help enable the architectural review to run smoothly for a couple of reasons. First, either key stumbling blocks have been removed or a better rationale for the decisions will have been created. Second, the group will require less education and you will likely now have allies who can help sell your architectural approach.

团结才能达成共识。

Unity helps drive consensus.

当缺乏团结时,即使底层架构方法可能是合理的,这些会议也可能变成一场疯狂的争论。

When there is a lack of unity, these meetings can turn into a feeding frenzy, even when the underlying architectural approach may have been reasonable.

请记住,您只有一次机会为自己提出的项目留下第一印象,而这将对您产生影响。您想留下什么样的印象?

Remember, you get only one shot at a first impression for the project you bring forward, and it will be a reflection on you. What type of impression do you want to leave?

共同愿景助力合作

Alignment of a Shared Vision Enables Partnerships

我个人的经验是,一旦你在共同愿景和战略崇高愿望上达成一致,建立合作伙伴关系就是自然而然的事情。几年前,当我从事新产品开发时,我们试图解决一个具有挑战性的客户问题,即如何快速轻松地获取相关信息。对话持续了数周。

My personal experience has been that once you have alignment in a shared vision with strategic and noble aspirations, establishing partnerships is a natural outcome. Several years ago when I was working with new product development, we were trying to solve a challenging customer problem about how to quickly and easily access relevant information. The conversation continued over a series of weeks.

在此期间,我们研究了公司内部和外部所有可以想到的解决方案。我们越深入研究这个问题,客户需求的关键要素就越清晰。我们对产品线未来发展方向的愿景开始浮现。实现这一愿景的技术当时并不存在,但我们可以开始看到如何在几个项目和几年内实现这一愿景的路线图。

Over this time, we looked at every imaginable solution both inside the company and outside the company. The more we dove into the problem, the more key elements of the customer needs began to fall out. Our vision of where we needed to take the product line began to emerge. The technology to pursue this vision simply did not exist, but we could start to see a roadmap of how we might achieve the vision over the course of several projects and several years.

我们的共同愿景协调了未来三年的项目、架构和资金,在多种产品中创造了新的功能,并获得了专利。

Our shared vision aligned our projects, architecture, and funding for the next three years, created new capabilities across multiple products, and resulted in a patent being issued.

相信

Trust

伙伴关系建立在相互信任的基础上,并以此为基础蓬勃发展。如果没有相互信任,伙伴关系就会逐渐消亡。

Partnerships are founded and flourish on the notion of mutual trust. Without it, they will slowly wither away.

建立信任

Establishing Trust

当你与个人合作时,你需要培养一种信任感。也就是说,你需要非常清楚你寻求帮助的情况。如果有任何风险、情况的既往史或故事背后的故事,你应该公开这些信息。

When you are partnering with individuals, you need to develop a sense of trust. That is, you need to be very clear about the situations in which you are asking for help. If there are any risks, previous history about the situation, or stories behind the story, you should be open with this information.

建立信任的一部分是披露好与坏。让对方决定是否支持你的想法很重要。最终事实会浮出水面,而你的披露或不披露将对相关人员变得非常明显。尽早披露几乎总是正确的选择,即使这对你不利。

Part of establishing trust is to disclose the good as well as the bad. Allowing the other person to make a decision about whether or not to support your idea is important. Eventually the facts will surface, and your disclosure, or lack of it, will become very obvious to those involved. Early disclosure is almost always the correct path to choose, even when it is to your disadvantage.

仔细聆听合作伙伴的回应;他们可能会发现风险、其他解决方案,甚至更好的销售材料。

Listen to your partners’ responses closely; they may identify risks, other solutions, or even better sales material.

建立公开披露

Establishing Open Disclosure

与合作伙伴打交道时,你需要以公开披露的方式行事。由于保密或公开披露时间的限制,你可能无法完全披露你所知道的所有信息,但你应该在可能的范围内公开沟通。

When dealing with your partners, you need to operate in a manner of open disclosure. You may not be able to fully disclose all the information you are aware of due to constraints of confidentiality or the timing of public disclosure, but you, to the degree possible, should communicate openly.


笔记

Note

当您向合作伙伴披露他们不应访问的信息时,您就是在让他们知道您不尊重他人的保密性,并且您可能会将他们向您提供的机密信息泄露给他人。保持诚信并以值得信赖的方式行事至关重要。

When you disclose information to your partners that they shouldn’t have access to, you are letting them know that you do not honor the confidentiality of others and that you might distribute information that they provide to you in confidence to others. It is essential to maintain your integrity and act in a trustworthy manner.


当你寻求指导或批准时,你需要清楚正在讨论的问题或解决方案。提供适当的背景信息将使你的合作伙伴了解你正在处理的事情。这包括披露

As you are asking for guidance or approval, you need to be clear about the problem or solution that is being discussed. Giving the appropriate background information will ground your partners in what you are dealing with. This includes disclosing

图像问题或解决方案的背景(与哪个项目相关、客户是谁、处理的时间范围、要求、使用信息等)

The context of the problem or solution (what project it is related to, who the customers are, what time frames you are dealing with, requirements, usage information, etc.)

图像与问题或解决方案相关的先前历史,尤其是组织内类似情况(其他人是否正在使用它,如果是,为什么;如果没有,为什么不使用)

Previous history related to the problem or solution, especially within the organization for similar situations (are others using it and if so, why; if not, why not)

图像与问题或解决方案相关的已知风险

Known risks associated with the problem or solution

图像以前解决该问题的尝试(成功和/或失败)

Previous attempts at solving this problem (successes and/or failures)

图像考虑的替代方案,包括其优缺点

Alternatives considered, including their pros and cons

图像成本相关信息(开发、运营、许可)

Cost-related information (development, operational, licensing)

图像规模或可用性信息

Scale or usability information

图像相关许可限制

Related licensing restrictions

图像您正在考虑的利弊

Pros and cons of what you are considering

这里的关键是让合作伙伴知道,你已经做好了功课,并尽职尽责地提供了信息。这将使他们能够充分了解情况并给你真正的反馈。否则,你只是试图让他们支持你已经得出的结论,这是在浪费他们的时间,并不必要地降低他们的信任度。

The key here is to let the partners know that you have done your homework and due diligence in presenting the information. This will enable them to fully understand the lay of the land and to give you real feedback. Otherwise, you are just trying to get them to support a conclusion you have already made, and you are wasting their time and unnecessarily lowering their level of trust.

避免过度分散精力(过度承诺)

Avoiding Getting Spread Too Thin (Overcommitting)

建筑师分心的可能性极高。总是有新项目、新技术、新领域需要帮助。挑战在于一天只有这么多时间。如果你对所有事情都说“是”,那么你需要每天工作 25 个小时。这是不可能的。

The opportunities for distraction for an architect are extremely high. There are always new projects, new technologies, new areas that need help. The challenge is that there are only so many hours in a day. If you say yes to everything, you will need to work 25 hours a day. It’s not possible.

另一个挑战是,你可能会被要求为你的某个合作伙伴做某件事——这个人可能刚刚救了你,而你甚至可能没有意识到这一点——而你可能没有空闲时间。你可能不得不拒绝,而拒绝并不总是那么容易。

The other challenge is that you may be asked to do something for one of your partners—one who may have just saved your back, and you may not even be aware of it—and you may have no spare time. You may have to say no, and saying no doesn’t always come easily.


笔记

Note

如果你承诺了,就必须坚持到底——没有如果、而且或但是——没有例外。言出必行。如果你承诺了却未能坚持到底,那么你最好失去信任;最坏的情况是失去你的伴侣。

If you commit, you need to follow through—no ifs, ands, or buts—no exceptions. Your word is your honor. If you commit and fail to follow through, you will at best lose trust; at worst you will lose your partner.


解决这个问题的最佳方法之一是在一天中留出余地;也就是说,特意留出时间作为缓冲。密切关注这段时间;这将有助于保持你和你的合作伙伴的理智。要小心;你一天有一两个小时的空闲时间并不意味着你应该承担另一项承诺。

One of the best ways to combat this problem is to establish margin in your day; that is, purposely set aside time to act as a buffer. Guard this time closely; it will help keep you and your partners sane. Be cautious; the fact that you have a spare hour or two in your day doesn’t mean you should take on another commitment.

有时,当你知道自己会异常忙碌或异常没有安排时,就会出现季节性因素。当这些情况发生时,你会提前知道要格外谨慎地保护自己的时间,或者要更乐于帮助他人。

Sometimes there are seasonalities that come into play when you know you are going to be unusually busy or unusually free of commitments. When these occur, you will know in advance to either guard your time with extra caution or be more available to help others.

如何在过度承诺后放松

How to Unwind after You Have Overcommitted

如果您和我一样,每年有一两次,您的所有项目似乎都在同一时间需要投入大量时间。为了解决这个问题,您可以采取多种选择。

If you are like me, once or twice a year all of your projects seem to have major time commitments converging at the same time. To deal with this, you can pursue several options.

第一个选择就是多工作。这样做的挑战在于建筑师的工作具有很强的社交性。他们大部分时间都花在与其他人一起工作上,而且这往往发生在核心工作时间。能从核心工作时间中抽出的工作量是有限的。

The first option is to simply work more. The challenge with this is that the work of architects is highly social. A significant portion of their time is spent working with other people, and this tends to be during core working hours. There is only so much work that can be shifted away from the core work hours.

第二种选择是评估你正在做的工作,并确定是否可以将其中任何一项委托给他人。在大多数项目中,有些任务我喜欢留给自己,比如研究新技术。通常,当我开始对自己正在做的工作量感到不知所措时,是因为我选择承担了太多我认为有趣的任务。实际上,我需要开始委托他人,让其他人去做有趣的工作。这很难做到,但它给了其他人成长和学习的机会。

A second option is to evaluate the work you are doing and determine if any of it can be delegated to others. On most projects, there are some tasks I like to reserve for myself, such as investigating new technologies. Usually when I start feeling overwhelmed by the amount of work I am doing, it is because I have chosen to take on too many tasks that I deem fun. In reality, I need to start delegating and allow others to do the fun work. It’s a hard thing to do, but it gives others an opportunity to grow and learn.

更激进的方法是停止接受新项目或任务。有时放弃那个令人兴奋的新项目是正确的做法;当你忙得不可开交,无法或几乎无法跟上所有承诺时,这个项目似乎就不那么令人兴奋了。事实上,只有在你的经理的帮助下,这才会有效。你可以这样做的次数非常有限,所以谨慎地选择这个选项。

A more drastic approach is to stop taking on new projects or assignments. Sometimes passing on that new and exciting project is the right thing to do; the project won’t seem so exciting when you are swamped and are unable or barely able to keep pace with all of your commitments. In reality, this is effective only with the help of your manager. There are a very limited number of times you can do this, so proceed with this option cautiously.

如果你无法避免承担新工作,最好的办法就是让每个项目都知道你手头很紧张,你花在他们身上的时间会减少。让他们专门在需要你的帮助时与你联系。清晰地沟通情况会引起他人的共鸣,并使他们了解如何确定适合与你联系的时间和情况。

If you are unable to avoid taking on new work, the best route is to simply let each of the projects know that you are being stretched thin and that you will be spending less time with them. Ask them to engage you specifically when they need your help. Clear communication about the situation will resonate with others and enable them to understand how to determine the times and situations when it is appropriate to engage you.

作为一名建筑师,你需要了解自己的局限性。通常,工作做得好,回报就是更多的工作。当这种情况发生时,你需要认清形势,有效地管理时间,避免过度投入,当然也需要避免交付不足。

As an architect, you need to know your limitations. Often the reward for good work is more work. When this happens, it is up to you to recognize the situation, manage your time efficiently, avoid overcommitting, and definitely avoid underdelivering.

学会说“不”

Learning to Say No

管理好自己的时间,避免不知所措,通常需要说“不”。学会说“不”对于建立信任至关重要。

Managing your time so you don’t get overwhelmed usually involves saying no. Learning to say no is essential to establishing trust.

如果您是架构师,问题、请求和咨询会议可能会占用您所有的时间。挑战在于找出哪些问题您绝对需要自己解决。在几乎所有情况下,您都需要听一会儿才能弄清楚手头的问题是什么。如果您没有时间立即处理,您可能需要让您的同事稍后再来,或者如果可能的话,将他们转给团队中可以帮助他们的其他人。

When you are an architect, questions, requests, and consulting sessions can simply consume all of your time. The challenge is to figure out which ones you absolutely need to address yourself. In almost all circumstances, you need to listen for a while to figure out what the issue at hand is. If you don’t have time to deal with it immediately, you may need to ask your colleagues to come back later or, if possible, redirect them to someone else on the team who can help them.

一旦您有机会聆听并听取所请求的内容,您必须确定是否有时间处理该请求。

Once you have had a chance to listen to and hear what is being requested, you have to make a determination of whether you have time to deal with the request.

要知道,如果你接受了请求,你就是那个容易回答的人。其他人可能只是想优化他们的时间,而不是自己调查问题。有时让别人挣扎一下并不是一件坏事。这将使他们学会如何研究问题并通过组织解决问题。有时人们想摆脱麻烦;他们可能会把他们自己创造的糟糕局面交给你,因为他们不想自己处理。

Realize that you are the easy answer if you take on the request. Others may simply be trying to optimize their time instead of investigating the issue on their own. Sometimes letting others struggle a bit is not a bad thing. It will enable them to learn how to research an issue and to work it through the organization. Sometimes people are looking to get out of trouble; they may be handing you a bad situation that they created because they don’t want to deal with it themselves.

大多数人的请求都是合理的,但如果你忙得不可开交,你需要弄清楚项目中是否有其他人可以接受新请求。另一方面,如果这是一个很可能会上报给高级管理层的关键问题,你会想放下手头的一切,立即处理它。

Most people have legitimate requests, but if you are swamped, you need to figure out if someone else on the project can take on a new request. On the other hand, if it turns out to be a critical issue that is likely to get raised up to senior management, you will want to drop everything you are doing and deal with it immediately.

涉及高层管理人员的问题需要非常谨慎地处理。你不会想让这些问题成为提出请求的人的学习机会。每当高层管理人员介入时,可能的结果可能会有很大的不同。现在不是说不的时候。

Issues that involve senior management need to be managed very carefully. You do not want to let such issues be learning opportunities for the person making the request. Whenever senior management gets involved, the set of possible outcomes can vary dramatically. Now isn’t the time to say no.

在答应之前,请先了解承诺(这真的是你的问题吗?)、所需的时间以及答应或拒绝后你要承担的风险。

Before you say yes, understand the commitment (Is this really your problem?), the amount of time needed, and the amount of risk you are taking on if you say yes or no.

通常,只要给人们提供一些关于如何继续前进的额外想法,他们就能重新开始行动。他们应该和其他人谈谈吗?有他们需要的信息的网站吗?他们能否更深入地研究问题,如果问题还没有解决,然后再回来?

Often just giving people additional ideas about how they can move forward can get them off and running again. Are there others to whom they should talk, websites that have the information they need? Can they dig into the problem a little more deeply and then come back if they still haven’t solved the problem?

要知道,你正在打交道的人是你的合作伙伴。你要么为这段关系增加价值,要么从中减少价值,所以要谨慎对待你如何以及何时说“是”或“否”。

Realize that the people you are dealing with are your partners. You are either adding value or removing value from the relationship, so be conscientious about how and when you say yes or no.

请记住,您将来可能会需要他们的帮助。

Remember, you may need their help in the future.

信任带来透明度——伙伴关系的命脉

Trust Enables Transparency—the Lifeblood of Partnerships

快速、轻松地访问组织内信息的能力对于您的成功至关重要。

Your ability to quickly and easily access information within your organization is critical to your success.

最近,我有机会参加了一场有关新产品领域的客户访谈会。客户所做的工作的详细信息以令人惊叹的方式阐明了产品理念。

Recently, I had a chance to be included in an interview meeting with a customer about a new product area. The detailed information about the work the customer does illuminated the product ideas in a stunning fashion.

当这个过程开始时,我总是惊讶于我对这些新领域的了解是如此之少,而对于新产品领域的客户背景却如此之多。我知道我需要沉浸在问题领域中,然后才能真正开始了解如何找到合理的解决方案来满足客户的需求。开始一段进入未知领域的新旅程总是令人兴奋的。

I am always amazed at how little I know about these new areas when this process starts and how much there is to know about the context of a customer for a new product area. I know that I need to immerse myself in the problem domain before I really begin to understand how to approach a reasonable solution to the customer’s needs. It is always exciting to start a new journey into unknown territory.

当我的业务合作伙伴愿意邀请我参加客户拜访,了解他们的新业务创新领域时,我知道他们已经与我建立了信任。这种对他们业务目标和方向的透明度使我能够在未来几年做出可靠的架构决策。

I know trust has been established with my business partners when they are willing to include me in customer visits for their new areas of business innovation. This transparency about their business goals and direction enables me to make solid architectural decisions literally for years to come.

客户拜访通常能让我更清楚地了解我们试图解决的业务问题,而这几乎是我可能拥有的任何其他经历所无法比拟的。这些经历以及随后的产品概念化对话深深地印在我的脑海里,并成就了伟大的项目。

The customer visits usually give me more context about the business problem we are trying to solve than nearly any other experience I am likely to have. The experiences and the product conceptualization conversations that follow get indelibly etched into my mind and make for great projects.

关键是要记住,除非与业务合作伙伴建立并保持信任,否则这一旅程不会提前开始。他们在与客户互动时不需要与技术人员打交道;这是一种特权,而不是权利。

The key is to remember that this journey doesn’t start early unless trust has been established and maintained with business partners. They are not required to engage technologists when they interact with customers; it’s a privilege to be included, not a right.

语境

Context

合作伙伴关系依赖于在特定环境中的运作。这种环境有助于构建合作伙伴关系的一致性、信任、协作和关系。

Partnerships rely on operating in a particular context. This context helps frame the alignment, trust, collaboration, and relationship of the partnership.

认识伙伴关系的本质

Realizing the Nature of the Partnership

在生活中,环境对于正确处理事情至关重要。合作关系也不例外。了解关系的性质以及您在组织内的相对地位至关重要。

In life, context is critical to getting things right. Partnerships are no exception. Understanding the nature of the relationship with respect to your relative status within the organization is essential.

组织内级别高于您的人很可能希望您能够很好地了解当前的技术状况、正在发生的趋势以及特定项目的成功或不成功。

A person who is higher than you within the organization is likely hoping that you can provide a good sense of the current state of technology, what trends are occurring, and the success or lack of success a particular project is having.

同龄人更可能将你视为一个可以征求意见的人,在你擅长的领域寻求帮助,或者寻求解决某些问题的想法。

A person who is more of a peer is likely looking to you as a sounding board for ideas, for help in an area where you have expertise, or for ideas on how to approach certain problems.

组织中级别比您低的人可能会寻求有关如何解决问题的指导、有关组织内可能存在哪些机会的信息或对某种方法的认可。

A person who is lower than you in the organization is likely looking for guidance on how to solve a problem, information about what opportunities may exist within the organization, or approval of a certain approach.

无论你与谁互动,都要花时间了解情况的背景。这可以帮助你确定如何最好地为寻求帮助的人提供服务。

No matter whom you are interacting with, take the time to understand the context of the situation. This can help you determine how best to serve the person who is requesting your help.

了解你的业务背景

Being Aware of Your Business Context

架构师在为合作伙伴提供方向建议时需要了解其业务背景。架构师的业务背景包括公司试图进入或维护的市场,以及在安全、开源、采购和相关领域实施的任何具体政策。

Architects need to be aware of their business context when advising partners on direction. The business context for an architect includes what markets the company is trying to enter or maintain and any specific policies that are enforced with respect to security, open source, procurement, and related areas.

业务环境可以帮助您快速确定某个特定项目是否可行。

The business context can help you quickly determine whether a particular project is viable.

在商业环境中,建筑师越来越需要了解与其打交道的不同群体的文化和国家差异。这在一定程度上是由于当今许多项目可能跨越地理区域,部分是因为参与项目的各个团队包括具有不同文化和国家背景的人员。

Embedded within the business context is an increasing need for architects to understand the cultural and national differences of the various groups with whom they interact. This is driven in part by the nature of many projects today that can span geographic regions, and in part because individual teams that are involved in the projects include a wider diversity of people with different cultural and national backgrounds.

技术决策需要合作

Technical Decisions Require Partnerships

技术决策会缩小企业未来可用的选项范围。如果您选择对解决方案进行改进,则意味着企业需要做出更具战略性的决策时,会在未来对该领域进行投资。但是,您的改进也可能使企业能够更快地进入市场,并在产品获得市场认可后进行重构。让其他人(合作伙伴)参与您所做的技术决策对您未来的职业健康至关重要。

Technical decisions narrow the set of future options available to the business. If you choose to make a hack for the solution, you are committing the business to future investment in that area if it needs to make a more strategic play. However, your hack may also enable the business to get to market more quickly and allow a refactor once the product has gained market acceptance. Having others on board (partners) with the technical decisions you make is essential to your future career health.

如果先前的决策没有得到正确各方的参与,那么即使这是正确的决策,他们也没有动力去捍卫所做的事情。当前的思维方式和当前的发展规则将不顾过去而得到应用。如果你是这个决策的孤狼,你将被牺牲。

If the right parties were not involved with an earlier decision, they will have no impetus to defend what was done even if it was the right thing to do. The current thinking style and current development rules will be applied with no regard to the past. If you were the lone wolf on this decision, you are about to get sacrificed.

无论何时,如果您“入侵”系统或利用即将退役的旧系统,都要花时间获得关键批准。如果您正在实施战略解决方案并且企业愿意承担成本,这几乎总是一个简单的答案。

Take the time to gain key approvals anytime you are “hacking” the system or leveraging a legacy system that is scheduled for decommission. It is almost always an easy answer if you are doing a strategic solution and the business is willing to take on the cost.

寻求技术合作的重点是确保你能够以指定的价格提供众所周知的结果。事后再要求更多钱很少会受到欢迎。

The main point for seeking technical partnerships is to ensure that you are capable of delivering the well-understood results for the price specified. Coming back later to ask for more money is rarely well received.

要点:技术决策是政治决策

Key Point: Technical Decisions Are Political Decisions

你可能会问,“为什么技术决策会成为政治决策,尤其是当我讨厌政治的时候?”答案相对简单:你今天做出的决定要么限制未来的选择,要么促成未来的选择。从某种意义上说,你正在给企业戴上手铐。当账单到期时,企业高管很可能会记得是谁做出了这个决定。当然,每个人都希望拥有所有未来的选择,希望成为决策的一部分,希望项目成本低廉,并希望它能够轻松且廉价地扩展。

You might ask, “Why in the world is a technical decision a political decision, especially when I hate politics?” The answer is relatively straightforward: the decisions you make today will either limit or enable future options. You are in some very real sense putting handcuffs on the business. When the bill comes due, the business executives are likely to remember who made the decision. Of course, everyone wants to have all future options available, wants to be part of the decision making, wants to have the project cost a small amount, and wants to have it scale easily and inexpensively.

您做出的技术决策(无论是财务决策还是战略决策)的影响越大,您就越需要仔细审查解决方案,以确保您获得适当的支持,并了解决策的范围。您还希望企业了解做出决策的成本,因为这将有助于推动架构和决策过程。

The larger the impact of the technical decision you are making (whether it be financial or strategic), the more carefully you will want to vet the solution, to ensure that you have the proper buy-in, and to know the scope of your decision. You will also want the business to understand the cost of making the decision as this will help drive the architecture and the decision process.

首先介绍情况(提供背景)

Presenting the Situation First (Give Context)

在呈现信息时,人们倾向于深入研究问题,快速证明您的解决方案为什么是正确的,并希望获得他人对您所设计的绝妙解决方案的赞扬。

When presenting information, there is a tendency to want to dive into the problem, to quickly justify why your solution is correct, and to receive the praise of others on the brilliant solution you have devised.

问题在于,大多数人不了解您的背景,需要更多的背景信息才能合理地评估您所呈现的内容。

The challenge is that most people do not have your context and need more background information to get to a point where they can reasonably evaluate what you are presenting.

解决此问题的一种有效方法是使用一种称为 SCRAP(情况、复杂性、解决方案、行动、礼貌)的信息呈现流程(见图1.4)。这有时也称为 SCQA(情况、复杂性、问题、答案)。

One effective way to approach this is to use a process of presenting information called SCRAP (situation, complication, resolution, action, politeness) (see Figure 1.4). This is also occasionally referred to as SCQA (situation, complication, question, answer).

图像

图 1.4情境驱动销售:在提出问题解决方案时让每个人都达成共识的最简单方法之一就是使用 SCRAP。

Figure 1.4 Context-driven selling: one of the easiest ways to get everyone on the same page when presenting a solution to a problem is to use SCRAP.

这个想法是

The idea is to

1.从情况开始(每个人都能同意的无可争议的事实)

1. Start with the situation (nondisputable facts that everyone can agree upon)

2.介绍复杂情况(需要解决的问题)

2. Introduce the complication (the problem that needs to be solved)

3.展示问题的可能解决方案

3. Show possible solutions to the problem

4.号召观众采取行动(他们可以如何提供帮助)

4. Call the audience to action (how they can help)

5.礼貌地结束(感谢每个人的帮助和投入)

5. End politely (thank everyone for their help and input)

这种简单的机制可用于引导您的合作伙伴找到解决方案,而不会因细节问题而打扰他们,也不会让对话偏离主题。这种技巧对高管尤其有效。他们需要清晰、简明的了解情况背景,然后才能介入帮助解决问题。

This simple mechanism can be used to guide your partners to a solution without jarring them with low-level details and having the conversation be derailed. This technique is especially effective with executives. They need a clear, concise context for a situation before jumping in to help resolve it.

获得合作伙伴的支持

Having Your Partners’ Backs

当你花时间在整个企业中培养合作伙伴关系时,你需要小心地维护这些关系。许多对话发生在白天。在这些对话中,如果有人对你的某个合作伙伴说了坏话,如果可能的话,你需要为这个人辩护或纠正他们所说的言论。支持你的合作伙伴并为他们辩护是作为合作伙伴的一部分(见图1.5)。

When you have taken the time to cultivate partnerships throughout the business, you need to guard those relationships carefully. Many conversations occur during the day. During these conversations, if someone is saying negative things about one of your partners, if possible you need to defend the person or correct the statements that are being made. Having your partners’ backs and standing up for them is part of being a partner (see Figure 1.5).

图像

图 1.5当你的伙伴遭到多方包围和攻击时,挺身而出帮助他们。你将赢得他们的信任。

Figure 1.5 When your partners are being surrounded and attacked from many fronts, step in and help defend them. You will earn their trust.

如果你不为他们辩护,沉默通常被认为是同意。更糟糕的是,如果你火上浇油,泄露了让他们处于不利地位的信息,你就是在把他们置于危险之中,从而破坏了一段宝贵的关系,或者至少降低了它的价值。当这些信息传回给当事人时(通常会传回),需要花费大量的时间和精力来消除造成的损害。

If you don’t defend them, silence is normally considered agreement. Worse yet, if you add fuel to the fire by disclosing information that puts them in a bad light, you are throwing them under the bus and thereby destroying a valuable relationship or, minimally, lowering its value. When this information gets back to the party involved (it usually does), it will take a significant amount of time and effort to undo the damage that was done.

有时这被称为“家庭内部的和解”。每个家庭都会出现某种程度的不和,工作也不例外。团结一致,在线下解决分歧。

Sometimes this is referred to as “keeping it in the family.” Every family is dysfunctional at some level, and work is no exception. Present a united front and work out the differences offline.

为合作伙伴的成功做出贡献

Contributing to Your Partners’ Successes

寻找方法帮助你的合作伙伴取得成功。当有机会为他们说好话、在与你目前正在从事的项目不直接相关的领域帮助他们、或作为值得信赖的顾问为他们的其他项目提供反馈时,请花时间投资于你的合作伙伴的成功。小事可以大大有助于促进你的合作伙伴的成功。

Find ways to help make your partners successful. When there is an opportunity to put in a good word for them, to help them out in areas that are not directly related to the projects you are currently working on, or to provide feedback on their other projects as a trusted adviser, take the time to invest in your partners’ successes. Small things can go a long way toward helping bolster your partners’ successes.

人数越多越安全

Safety in Numbers

无论何时,只要你从事架构工作,你就是在从事销售工作。你通常销售的是技术、解决方案、架构或其他关键领域。你能够获得的支持越广泛,你提出的想法就越容易获得认可。

Whenever you are in architecture, you are in sales. You are typically selling a technology, a solution, an architecture, or some other key area. The broader the support you are able to build, the easier it will be to gain acceptance of the idea you are bringing forward.

在组织内部,销售解决方案通常不只是数字问题,还涉及获得正确的支持。了解组织中谁是影响者并获得他们的支持,可以让想法或方向更容易被接受。

Often within an organization, selling a solution isn’t just about numbers; it is about having the right support. Knowing who the influencers are in your organization and gaining their support can make acceptance of an idea or direction much simpler.

合作

Collaboration

在商业环境中,合作关系的成功取决于参与方在合作环境中贡献最佳想法,共同努力实现共同目标的能力。合作精神可以一个开放的环境,可以进行对话,重塑和改革想法。这种想法的具体化是创新得以生根发芽的地方。

In a business context, a partnership’s success relies on the ability of those involved to work together toward common goals by contributing their best ideas in a cooperative environment. The spirit of collaboration can enable an open environment for conversations to occur and ideas to be reshaped and reformed. This reification of ideas is where innovation can spring to life.

带来价值

Bringing Value to the Table

大多数合作关系不应是单向的信息和指导。您需要为所获得的信息和指导提供有价值的回报。这通常意味着对其他人可能寻求的信息、他们可能想要考虑的有关他们正在进行的项目的想法、解决他们面临的问题的替代方法提供开放的反馈。当您找到他们可能感兴趣的信息、网站、博客、文章或会议时,花时间将这些信息转发给他们可以帮助平衡合作关系的价值。

Most partnerships need to be more than a one-way street to information and guidance. You need to provide value in return for the information and guidance you receive. Often this means giving open feedback about information others may be seeking, ideas they may want to consider for projects they are working on, alternative approaches to solving problems they face. As you find information, websites, blogs, articles, or conferences they may be interested in, taking the time to forward this information to them can help balance the value of the partnership.

成为导师

Becoming a Mentor

作为一名建筑师,你经常会遇到指导他人的机会。在任何一年中,我通常会指导少数人。通常,他们是希望在未来某个时候升职的人。

As an architect, you often encounter opportunities to mentor others. During the course of any given year, I typically work on mentoring a handful of individuals. Usually, they are individuals who are looking to get promoted at some point in the future.

建立成功的导师关系的关键是了解个人希望学习什么:

The key to developing a successful mentorship relationship is to understand what the individuals are hoping to learn:

图像他们想学习一项特定的技能吗?

Do they want to learn a specific skill?

图像他们想了解建筑师的角色是什么吗?

Do they want to learn what the role of an architect is?

图像他们只是想更好地完成当前的工作吗?

Do they simply want to do their current job better?

一旦你了解了他们想要的方向,你就可以努力寻找他们可以帮助你的阅读材料、博客,甚至可能是与项目相关的任务。通常,实践是最好的学习方式。

Once you understand the direction in which they want to go, you can work on finding reading materials, blogs, or potentially even project-related tasks that they can help you with. Often doing is the best way to learn.

尝试找到一个可以见面的固定时间,无论是每周一次还是每月一次。固定时间将有助于确保你们确实见面。大多数指导关系通常持续一年左右。

Try to find a regular time when you can meet, whether once a week or once a month. Having a set regular time will help guarantee that you do in fact meet. Most mentoring relationships usually last about a year.

有时,正式的指导计划由公司或当地组织提供。有时,指导组织的主要目的是将导师和学员聚集在一起。指导可以以一对一的形式进行,有时也可以以小组活动的形式进行。

Sometimes formal mentoring programs are offered through a company or through local organizations. Sometimes the mentoring organizations are primarily for the purpose of bringing mentors and mentees together. Mentorship can take place as paired individuals or sometimes as a group activity.

在开始会面之前,你应该计划好你想要实现的目标,并初步制定一个计划,说明如何实现目标。你的学员愿意提前做多少准备,可以表明他们对于提高自己的努力有多认真。

Before you begin meeting, you should plan what you want to accomplish and tentatively put a plan together for how you are going to get there. The amount of preparation your mentees are willing to do in advance will be an indicator of how serious they are about working to improve themselves.

如果您在每次会议之前设定好议程,并提前分发和审查所有准备材料,那么你们在一起度过的时间将更加富有成效。

If you set an agenda in advance of each meeting and have whatever preparatory materials distributed and reviewed in advance, it will make the time you spend together much more productive.

在某些时候,给予反馈是必不可少的。受训者需要了解他们是否走在正确的轨道上,或者他们是否还有其他需要改进的地方。你能给出的最好的反馈之一就是你看到的优势;知道他们在某些方面特别擅长可以帮助他们有信心追求自己的目标。他们需要改进的地方可能很难改变,很多时候他们能做的最好的事情就是尽量减少这些方面的影响。

At some point, giving feedback is essential. Mentees need to understand if they are on the right track or if there are other areas they may want to consider improving. One of the best pieces of feedback you can give is the strengths that you see; knowing that they are particularly good at something can help give them the confidence they need to pursue their goals. The areas where they need improvement may be very difficult to change, and many times the best they can do is minimize the impact of these areas.

总的来说,要努力给予受训者诚实的反馈并鼓励他们。

Overall, seek to give mentees honest feedback and encourage them.

寻求导师

Seeking a Mentor

多年来,我有过一系列的导师。他们对我了解的程度总是让我感到惊讶。他们能够迅速发现我需要改进的领域——我自认为擅长的领域——另一方面,他们也能看到我身上那些我之前没有立即发现的优势。

Over the years, I have had a series of mentors. I am always amazed at what they can see about me. They are able to quickly pick up on areas that I need to work on—areas that I thought I was actually good at—and, on the other hand, see strengths that I have that were not immediately obvious to me.

寻找导师时,您希望有人能直接回答您并告诉您需要听到的事情,即使您不想听或可能不同意。通常,这些事情对其他人来说是显而易见的,但对您来说却不明显。

When seeking a mentor, you want someone who will give you a straight answer and tell you the things you need to hear, even when you don’t want to hear them or may not agree with them. Often, these are things that are apparent to others, but not obvious to you.

我有过组织内部和外部的导师。一般来说,组织内部的导师更优秀,因为他们了解组织文化和政策。他们更了解如何成功引导组织。

I have had mentors both inside and outside of my organization. In general, the mentors inside the organization are better because they are aware of the organizational culture and politics. They have a much better sense of how to navigate the organization successfully.

你需要清楚自己想从导师关系中得到什么。你需要向导师明确你的目标是什么、你想成为什么样的人、你迄今为止尝试过什么以及你计划在未来做什么。让你的导师了解你喜欢读的书、你关注的博客以及你可能寻求的任何培训或者正在寻求的帮助将帮助导师了解您在职业生涯中所处的位置。

You need to have a sense of what you want to get out of a mentoring relationship. You need to be clear with the mentor about what your goals are, what you are seeking to become, what you have tried to date, and what you are planning on doing in the future. Giving your mentor a sense of the books you like to read, the blogs you follow, and any training you may have sought or are seeking will help inform the mentor about where you are within your career.

制定会议频率和每次会议目标的计划。这是你的时间。你应该主导议程,但要听取反馈并根据反馈进行调整。

Have a plan for how often to meet and the goals of each meeting. This is your time. You should drive the agenda, but listen for feedback and adjust based on that feedback.

指导的结果通常不会立即显现出来,但经过三到五年的时间,你会看到已经发生的变化,你可能会发现一些关于你需要努力的事情的尖锐话语实际上是正确的。一旦你有了更多的视角,通常更容易看到这些说法是准确的。

The results of mentoring are usually not immediately obvious, but over the course of three to five years, you can see the changes that have occurred, and you may discover that some of the piercing words about things that you needed to work on were in fact true. Once you have a little more perspective, it is usually easier to see that these statements were accurate.

合作伙伴关系可以成为机遇之源

Partnerships Can Be a Source of Opportunity

通常,当业务中出现新机会时,会有一定的准备时间,并且机会范围的披露有限。您的合作伙伴网络将决定您是否被考虑接受该机会,甚至是否有机会了解它。

Usually as new opportunities present themselves within the business, there is a certain lead time and limited revelation of the scope of the opportunity. Your network of partners will determine whether or not you are considered for the opportunity or even have a chance to hear about it.

当你确实有机会听到这样的机会时,要愿意参与并承担风险。如果你的合作伙伴要求你考虑这个机会,你通常已经得到了他们的支持。

When you do have a chance to hear about such opportunities, be willing to jump in and take a risk. If your partners are asking you to consider the opportunity, you usually already have their backing and support.

通常情况下,这类机会不会经常出现。如果你现在拒绝,下次你可能会失去机会;所以要迅速思考,即使你不了解所有细节,也要愿意接受。

Normally, these types of opportunities do not present themselves on a regular basis. If you say no now, you may put yourself out of consideration the next time; so think quickly and be willing to jump even if you don’t have all of the details.

合作是迈向创意的一步

Partnerships Are a Step toward Ideation

对于建筑师来说,获得企业的信任和建立合作伙伴关系至关重要。这些合作关系最终会导致企业愿意将你拉入核心圈子。正是在这个核心圈子里,企业的方向才得以确定。这里将决定你未来的工作和机会。这里是创意和发现的家园。

For architects, gaining the trust of the business and forming partnerships are essential. These partnerships eventually lead to the business being willing to draw you into the inner circle. It is inside this inner circle that the directions for the business are set. It is the place that will determine the future work and opportunities you will have. It is the home of ideation and discovery.

合作推动更牢固的伙伴关系

Collaboration Drives Stronger Partnerships

在当今技术飞速发展的世界中,协作对于提供有竞争力的解决方案至关重要。如今,很少有人能够成为在所有与客户解决方案相关的领域都是专家。这种合作需要在多个层面上进行。

In today’s world of fast-moving technology, collaboration is essential to provide competitive solutions. It is rare today that you have the ability to be the expert in all of the areas related to a solution for a customer. This collaboration needs to occur on multiple levels.

您需要与客户合作,不断追求高价值。这可能涉及让他们尽早接触您的解决方案渠道,以获得关键反馈。您需要与技术提供商供应链合作,寻找持久且可扩展的解决方案;这可能采取概念验证、获得行业领先专家的技术选择建议以及专业培训的形式。

You need to collaborate with your customers to continually navigate toward high value. This may involve giving them early access to your pipeline of solutions to get critical feedback. You need to collaborate with your supply chain of technology providers to find solutions that will last and scale; this may take the form of proofs of concept, access to industry-leading experts for advising on technology selection, and specialized training.

我的经验是,处于新技术领域前沿的公司(开源社区开始蓬勃发展)拥有独特的行业见解,能够对这些新技术的使用提供专家指导。

My experience has been that the companies that are in the forefront of new technology areas, where the open-source community is beginning to thrive, have unique industry insights and are able to give expert guidance on the use of these new technologies.

这些公司内部和外部的合作形式将有助于巩固您的合作伙伴社区,并可为所有相关方提供重要价值。

These forms of collaboration both within the company and outside of the company will help solidify your community of partnerships and can provide significant value for all parties involved.

关系

Relationships

伙伴关系是通过人际关系建立和维持的。组织内部和外部的这些关系对于建筑师的成功至关重要。

Partnerships are established and maintained through relationships. These relationships both inside and outside an organization are essential for architects to be successful.

合作关系不仅仅关乎商业

Partnerships Are Not Just about Business

在发展合作关系时,您需要发展和维持这种关系。尽管合作关系对于商业成功至关重要,但您需要培养这种关系。花时间更好地了解人们——了解他们喜欢做什么爱好,他们的孩子是谁,他们的孩子喜欢做什么——将对建立更好的合作关系大有帮助。

As you develop partnerships, you need to develop and maintain the relationships. Although partnerships are critical to succeed in business, you need to cultivate them. Taking the time to get to know the people better—learning what they like to do for hobbies, who their kids are, what their kids like to do—will go a long way toward establishing a better partnership.

找时间出去吃午饭、喝咖啡或只是顺便聊聊天。你会发现你的日子更愉快了。与所有事情一样,要了解文化规范,以确保你以适当的方式与他人交往。

Find time to go out for lunch, get coffee, or just stop by to chat. You will find your days are more enjoyable. As with all things, be aware of what the cultural norms are to ensure that you are engaging with others in an appropriate manner.

提款前先存款

Making Deposits before You Start Withdrawing

与大多数关系一样,帮助彼此需要付出和收获。当一方不断退出时,另一方的兴趣水平维持关系变得紧张。一定要抽出时间保持联系,尽可能提供帮助;这将使你将来更容易寻求帮助。

As with most relationships, there is a give-and-take to helping each other out. When one party makes continuous withdrawals, the interest level in maintaining the relationship becomes strained. Make sure you take the time to keep in touch and help out whenever possible; this will make it easier for you to ask for help in the future.

外部合作伙伴

External Partnerships

与那些更换业务部门或离开公司的人保持联系是发展合作伙伴的绝佳方式。此外,积极参与本地用户组或会议也是保持广泛人脉的绝佳方式,这些人脉可以就特定问题提供建议。

Staying in contact with those who have changed business units or have left the company can be an excellent way to develop partners. In addition, being active in local user groups or conferences can also be an excellent way of keeping a broad network of people who can help advise on particular issues.

了解其他企业使用的工具或遵循的流程可以帮助您了解行业正在发生的变化。它们还可以让您了解当地高管正在批准哪些类型的项目。

Knowing what other businesses are using for tools or what processes they are following can help inform you about what changes are occurring in the industry. They can also give you a sense of what types of projects local executives are approving.

强大的内部和外部专业网络对于保持成功至关重要,也是个人难以独自开发和维护的技术和业务专业知识的来源。

A strong internal and external professional network is critical to maintaining success and also serves as a source of technical and business expertise that a single person would have difficulty developing and maintaining alone.

过去有过不愉快的经历吗?

Bad Experiences in the Past?

克服它。忍耐它。你需要确保让合适的人参与决策。如果你不这样做,它就会回来困扰你。

Get over it. Suck it up. You need to make sure the right people are involved with decisions. If you don’t, it will come back to haunt you.

不管好坏,不管你和某人相处得好不好,有时你需要忘记以前与对方的不愉快经历,并让对方参与谈话。学会礼貌待人,不要在意过去。

For good or bad, whether you get along with someone or not, sometimes you need to get over your previous bad experiences with the person and draw him or her into a conversation. Learn to be polite, and ignore the past.

当你进入这些情况时,要清楚自己想要什么。获取有助于企业成功的信息是正确的做法,即使这会很痛苦。

When you enter these situations, know what you want when you go in. Getting information that will help the business succeed is the right thing to do even if it’s painful.

讲完后,说声谢谢。对方可能甚至不记得你记忆犹新的之前发生的事情。

When you are finished, say thank you. The person may not even remember the previous event that is so fresh in your memory.

避开组织内刻薄的成员

Avoiding Caustic Members of the Organization

每个组织中总有一些人喜欢贬低、摧毁和轻视他人。他们有效地在别人心中制造恐惧,并利用这种恐惧为自己谋利。他们往往是尖刻的人,他们通常在政治上足够一致,所以不会被组织除名。

There are always certain individuals in every organization who love to demean, destroy, and belittle others. They effectively establish fear in others and use that fear to their advantage. They are often caustic individuals and are generally politically aligned well enough that they are safe from being removed from the organization.

尽管他们可能在组织内具有影响力,但最好还是避开他们。与他们交往几乎没有什么好处,除非你喜欢一场激烈的争斗,否则与他们交往通常会带来很大的负面影响。

Although they may carry influence within the organization, it is usually best to avoid them. There is almost no good that can come out of interacting with them, and there is usually a large downside to interacting with them unless you enjoy a good fight.

如果你确实需要与他们互动,通常最好让他们畅所欲言,不要打断他们。记住你想表达的任何观点,但要确保你所说的一切都有充分的理由。关键是不要打断。通常,这不是对话;它更像是独白。

If you do need to interact with them, it is usually best to let them speak their piece without interruption. Keep track of any points you wish to make, but make sure everything you say is well reasoned. The key is not to interrupt. Usually, this is not a conversation; it is more of a monologue.

概括

Summary

合作之路始于

The road to partnerships begins with

图像建立一致性

Establishing alignment

图像寻找合适的合作伙伴

Finding the right partners

图像寻找思想领袖

Finding the thought leaders

图像了解影响者

Knowing the influencers

图像建立值得信赖的顾问

Establishing trusted advisers

图像利用社区评论

Leveraging community review

图像协调共同愿景

Aligning a shared vision

图像建立信任

Establishing trust

图像建立公开披露

Establishing open disclosure

图像避免过度承诺

Avoiding overcommitment

图像学会偶尔说“不”

Learning to occasionally say no

图像建立背景

Establishing context

图像了解合作关系的性质

Understanding the nature of the partnership

图像了解业务背景

Being knowledgeable of the business context

图像与合作伙伴制定技术决策

Framing technical decisions with a partnership

图像认识到技术决策就是政治决策

Realizing that technical decisions are political decisions

图像学习根据具体情况进行销售

Learning to sell with a context

图像获得合作伙伴的支持

Having your partners’ backs

图像认识到人数越多就越安全

Realizing there is safety in numbers

图像建立合作关系

Establishing collaboration

图像带来价值

Bringing value to the table

图像愿意成为导师并知道何时寻求导师

Being willing to be a mentor and knowing when to seek a mentor

图像认识机会

Recognizing opportunities

图像激发创意

Enabling ideation

图像建立关系

Establishing relationships

图像不只关乎生意

Being more than just about business

图像在开始提款之前进行存款

Making deposits before you begin withdrawing

图像利用外部关系

Leveraging external relationships

图像克服过去的不愉快经历

Overcoming bad experiences from the past

图像避开组织内刻薄的成员

Avoiding caustic members of the organization

对于建筑师来说,与多个业务领域建立合作伙伴关系是生存的关键。建筑师生活在一个高度政治化的世界,他们所做的决定不断受到挑战。

For architects, establishing partnerships across multiple areas of the business is essential for survival. Architects live in a highly politicized world and are constantly being challenged for the decisions that they make.

您需要高级管理人员、业务合作伙伴和其他人来理解和支持已做出的决定。他们可以在您不在场时为您辩护。没有这些合作伙伴,您将有机会看到组织在压垮您时所面临的阴暗面。

You need senior executives, business partners, and others to understand and support the decisions that have been made. They can defend you when you aren’t present. Without these partners, you will get the opportunity to view the underside of the organization as it drives over you.

参考

References

Bradberry,Travis 和 Jean Greaves。2009 年。情商 2.0。TalentSmart

Bradberry, Travis, and Jean Greaves. 2009. Emotional Intelligence 2.0. TalentSmart.

Bruch, Heike 和 Sumantra Ghoshal。2002 年。“当心忙碌的经理。” 《哈佛商业评论》, 2 月。

Bruch, Heike, and Sumantra Ghoshal. 2002. “Beware the Busy Manager.” Harvard Business Review, February.

史蒂文·柯维 (Steven MR Covey) 与丽贝卡·R·梅里尔 (Rebecca R. Merrill) 合著。2008 年。《信任的速度:改变一切的一件事》。托马斯·纳尔逊。

Covey, Steven M. R., with Rebecca R. Merrill. 2008. The SPEED of Trust: The One Thing That Changes Everything. Thomas Nelson.

格拉德威尔,马尔科姆。2002 年。《引爆点》。Back Bay Books。

Gladwell, Malcolm. 2002. The Tipping Point. Back Bay Books.

Maxwell, John C. 2001. 《团队合作的 17 条不容置疑的法则:遵循它们并赋予您的团队权力》。Thomas Nelson。

Maxwell, John C. 2001. The 17 Indisputable Laws of Teamwork: Embrace Them and Empower Your Team. Thomas Nelson.

Patterson,Kerry、Joseph Grenny、Ron McMillan 和 Al Switzler。2011 年。《关键对话:高风险时的谈话工具》,第二版。麦格劳-希尔。

Patterson, Kerry, Joseph Grenny, Ron McMillan, and Al Switzler. 2011. Crucial Conversations: Tools for Talking When Stakes Are High, Second Edition. McGraw-Hill.

Schwartz, Tony 和 Catherine McCarthy。2007 年。“管理你的精力,而不是你的时间。” 《哈佛商业评论》,十月。

Schwartz, Tony, and Catherine McCarthy. 2007. “Manage Your Energy, Not Your Time.” Harvard Business Review, October.

第 2 章 发现

Chapter 2. Discovery

“真正的探索之旅不在于寻找新的风景,而在于拥有新的视角。”

“The real voyage of discovery consists not in seeking new landscapes but in having new eyes.”

—马塞尔·普鲁斯特

—Marcel Proust

“所有真理一旦被发现就很容易理解;关键在于发现它们。”

“All truths are easy to understand once they are discovered; the point is to discover them.”

-伽利略·伽利雷

—Galileo Galilei

“错误是发现的门户。”

“Mistakes are the portals of discovery.”

—詹姆斯·乔伊斯

—James Joyce

“与众不同的想法。”

“Think different.”

—史蒂夫·乔布斯

—Steve Jobs

您是否有机会拜访客户并听取客户表达他们的想法?相比之下,您是否曾让内部客户代表表达过同一客户的想法?

Have you ever had the chance to go on customer visits and hear customers express their ideas? In comparison, have you ever had an internal customer representative express the same customer’s ideas?

这两个概念有相似之处,但通常这可以体现电话游戏的一个方面。这是一个游戏,故事悄悄地讲给一个人听,然后悄悄地再讲给下一个人听,直到它传遍了多个人。

The two concepts have similarities, but often this can take on an aspect of the telephone game. This is the game where a story is told quietly to one person, and then quietly retold to the next person until it has traveled through multiple individuals.

一个人向另一个人讲述并复述故事,慢慢地改变了故事。如果你玩过这个游戏,听到原版和最终版的对比会很惊讶。这两个版本通常有很大的不同。

The telling and retelling of the story from one person to another slowly introduces changes to the story. If you have ever played this game, it is amazing to hear the original version in comparison to the end version. The two are typically very different from one another.

当故事被多次复述时,通常会引入重大的变化——这并非故意的;这只是交流的本质。

By the time the story has been retold multiple times, significant changes have usually been introduced—not purposely; it is just the nature of communication.

在建筑行业,清晰地倾听客户的声音对于提供切中要害的解决方案至关重要。客户独特的表达方式通常可以清楚地表达出他们想要什么。真正的问题通常在他们的语言中有所体现。

In architecture, the need to clearly hear the voice of the customer is essential to delivering solutions that hit the mark. Customers’ unique verbalization can often provide clarity to what they are seeking. The real problem is usually nuanced in their language.

通过仔细聆听,您通常可以听到他们所面临的问题,并开始寻找简单而优雅的解决方案。

By listening closely, you can often hear the problem they are facing and begin the journey toward simple and elegant solutions.

倾听客户的声音对于开发过程至关重要,并强调架构师和其他开发人员需要了解其内部和外部客户。直接的客户反馈无可替代。

This need to hear the customer’s voice is critical to the development process and emphasizes the need for architects and other development staff to know their internal and external customers. There is no substitute for direct customer feedback.

作为一名建筑师,你应该抓住一切机会与客户见面。双方会交换极为相关的信息。

As an architect, you should meet with customers every chance you get. Extremely relevant information is exchanged on both sides.

本章揭示了软件架构师所需的一项基本技能:倾听客户的声音并发现他们真正的需求。这通常是与最接近客户的人员(销售、营销和新产品开发)合作完成的。

This chapter unveils one of the essential skills needed by a software architect: the ability to hear the voice of your customers and discover their real needs. This is typically done in partnership with those who are closest to the customer—sales, marketing, and new product development.

什么是发现?

What Is Discovery?

在软件架构中,发现是指在技术之外进行探索,了解客户的背景。有时这很容易,因为它与你的工作相关。另一方面,我们的许多客户生活在与我们日常工作截然不同的世界里。你越了解你的客户是谁、他们做什么、他们如何做、他们的痛点是什么、他们经常遇到什么问题以及他们用来描述他们的世界的语言,你就越能构建自然融入他们领域的系统并开发有效的解决方案(见图2.1)。

In software architecture, discovery is about venturing outside of technology and learning about the context of the customer. Sometimes this is easy because it relates to what you do. On the other hand, many of our customers live in a world that is quite different from what we do on a day-to-day basis. The more you know and understand who your customers are, what they do, how they do it, what their pain points are, what problems they face regularly, and the language they use to describe their world, the better you will be able to build systems that fit naturally into their space and to develop effective solutions (see Figure 2.1).

图像

图 2.1学会冒险并发现新事物。

Figure 2.1 Learn to venture out and discover new things.

探索之钥

The Keys to Discovery

本章重点关注三个关键的发现领域:了解客户、了解市场和了解您的业务(见图2.2)。

This chapter focuses on three key areas of discovery: understanding the customer, understanding the market, and understanding your business (see Figure 2.2).

图像

图 2.2发现的关键

Figure 2.2 The keys to discovery

了解客户

Understanding the Customer

了解应该创造什么产品的关键要素之一是了解您现有的客户以及您正在寻找的客户。

One of the essential elements of understanding what products should be created is to understand the customers you have today as well as the customers you are seeking.

你想了解他们做什么,但不一定了解他们怎么做,甚至不了解他们现在使用的工具或产品。一旦你了解了他们想做什么,你就可以找到新的创新方法来实现它。你想寻找他们喜欢什么和不喜欢什么,什么看起来很自然,什么看起来很尴尬。

You want to learn what they do, but not necessarily how they do it or even what tools or products they use today. Once you learn what they are trying to do, you can find new and innovative ways of accomplishing it. You want to seek what they like and don’t like, what seems natural versus awkward.

从某种意义上说,了解“是什么”是比较容易的部分。对我来说,真正与客户见面是一个极具挑战性的问题。在大型组织中,大多数人的角色定义都很狭隘。有营销和销售;他们的重点和语言不同——他们的直接目标是满足客户需求和创造收入,而不是带着架构师一起去了解客户。

In some sense, learning the “what” is the easy part. For me, getting to actually meet customers is an extremely challenging problem. In a large organization, most people have narrowly defined roles. There is marketing and sales; their focus and language are different—their direct goals are meeting customer needs and generating revenue rather than bringing the architect along to learn about the customer.

挑战在于,除非充分了解所服务的客户,否则几乎没有或根本没有依据来判断影响所生产产品的成百上千个微观技术决策。可以确定哪些成本可能更高或更低,哪些技术架构更好,或者可能涉及哪些风险,但实际上这些并不重要,重要的是了解什么能给客户带来价值,什么能让客户满意,什么能提高产品忠诚度,或者什么让你的产品变得必不可少。有了这类信息,你和你的合作伙伴就可以采取更全面的决策方法,朝着共同的愿景迈进。这将使整个产品具有更强的凝聚力。

The challenge is that unless the customers being served are well understood, there is little or no basis on which to judge the hundreds and thousands of micro technology decisions that impact the products that are produced. It is possible to determine what might cost more or less, what is technically better architected, or what risks might be involved, but in reality these really do not matter as much as knowing what provides value to the customer, what delights the customer, what drives product loyalty, or what makes your product essential. Given this kind of information, you and your partners can take a more holistic approach to decision making and move toward a common vision. This will give the overall product a stronger element of cohesiveness.

所以,无论需要什么,都要找到方法走出去与你的客户见面。

So whatever it takes, find ways to get out and meet your customers.


笔记

Note

了解客户正在做什么以及他们的真正目标和需求是什么至关重要。

It is essential to learn what your customers are trying to do and what their real goals and needs are.


与销售、营销和新产品开发部门合作

Partnering with Sales, Marketing, and New Product Development

通常情况下,走出办公室与客户面对面交流的唯一方式是与那些已经与客户建立关系的人合作。客户。这些人通常从事销售、营销、新产品开发 (NPD)、客户支持、客户服务或客户培训工作——基本上是任何定期与您的客户互动的人。他们的工作与了解客户类型、他们所扮演的各种角色、您的产品为他们带来的价值、他们的词汇量、他们的购买习惯以及促使他们花钱购买您的产品的因素有关。

Typically, the only way to get out of the office and meet customers face-to-face is to partner with those who have an existing relationship with customers. These people are usually in sales, marketing, new product development (NPD), customer support, customer service, or customer training—basically anyone who interacts with your customers on a regular basis. Their jobs are aligned with knowing the types of customers, the variety of roles they fulfill, the value that your products bring to them, their vocabulary, their buying habits, and what is driving them to spend money on your products.

花点时间去了解组织中经常与客户互动的人。寻找可以“跟随”他们并与他们互动的方法。

Take time to get to know the people in your organization who interact with your customers on a regular basis. Seek ways that you can “tag along” and interact with them.

这些人通常喜欢有技术专家陪同,因为如果谈话涉及技术问题,他们可以向技术专家寻求帮助。如今这种情况越来越多。

Often these people will like having a technical expert along for the ride as it will give them someone to defer to if the conversation takes a technical turn. This happens more and more these days.

从多个角度了解您企业生产的产品将是一次令人大开眼界的体验。

It will be an eye-opening experience to see the multiple perspectives that exist for the products that your business produces.

与新产品开发部门会面

在我工作的世界中,NPD 是负责为客户开发新的创新产品和解决方案的团队。事实上,他们是客户的代理。他们与营销和销售部门合作,从现场(客户所在地)收集反馈。

In the world I work in, NPD is the group tasked with developing new, innovative products and solutions for customers. They are, in fact, a proxy for customers. They work with marketing and sales to gather feedback from the field (the land of the customer).

早在项目面世之前,产品概念的开发和完善就已投入了大量工作。在业务中,争夺那些为项目提供资金的人的注意力的竞争永无止境。挑战在于找到符合业务目标和战略的想法。这些想法需要足够简单,可以在两分钟内描述出来,并具有明确的价值主张(创收或保护机会)。

Long before projects ever see the light of day, a considerable amount of work has gone into the development and refinement of concepts for a product. Within the business, there is never-ending competition for the attention of those who allocate money to fund projects. The challenge is to find ideas that align with business goals and strategies. They need to be simple enough to be described in under two minutes and have a clear value proposition (revenue generation or protection opportunity).

在这个领域,建筑师有机会与企业合作,帮助开发和完善想法,并向那些决定资助哪些项目的人推销。

In this space, architects have the opportunity to partner with the business to help develop and refine ideas for pitching to those who decide which projects to fund.

架构师还有机会充当业务和技术之间的桥梁。他们通常已经掌握了业务领域的知识,并了解技术组织的能力。凭借这些背景,他们可以帮助指导 NPD 了解什么是可能的、什么是容易的,以及哪里存在更便宜的替代方案。

Architects also have the opportunity to act as a bridge between the business and technology. They typically have gained the domain knowledge of the business and a sense of what the capabilities of the technology organization are. With this background, they can help guide NPD into understanding what is possible, what is easy, and where less expensive alternatives exist.

通过 NPD 进行探索

NPD 的语言与技术不同。他们是来自不同背景、拥有丰富技术经验的商务人士。以非技术性的方式与 NPD 交谈(避免使用专业术语、缩写词等)将大大提高您有效沟通的能力。

NPD has a language that is different from that of technology. They are business people from a broad set of backgrounds and with a wide variety of experience with respect to technology. Speaking to NPD in a nontechnical manner (avoiding terms of art, acronyms, etc.) will greatly improve your ability to communicate effectively.

与业务人员沟通是一门艺术;他们控制着资金。学习如何有效地与 NPD 沟通是架构师在技术组织中扮演的重要角色之一。

There is an art to communicating with the business people; they control the money. Learning how to effectively communicate with NPD is an essential aspect of an architect’s role within the technology organization.

您需要倾听并了解 NPD 用来描述客户想要完成的任务或客户面临的问题所用的语言。

You need to listen and hear the language NPD is using to describe what the customer is trying to accomplish or what problem the customer is facing.


笔记

Note

当你聆听时,请尝试在反思所听到的内容时使用 NPD 语言。

As you listen, try to use NPD’s language when you are reflecting back what you hear.


在解决客户问题时,NPD 会非常关心“是什么”,而不是“如何”。 “如何”是您的母语,但在这里真的没有位置。 一个关键的例外是成本太高。 在这种特殊情况下,NPD 可能会很快表现出浓厚的兴趣,想要学习您的语言,以便更好地了解成本或风险驱动因素。

NPD will care deeply about the “what” and not so much the “how” when it comes to solving the customer’s problems. The “how” is your native language of technology but really has no place here. A key exception to this is when the costs are too high. In this particular case, NPD may quickly show a keen interest in learning your language to better understand the cost or risk drivers.

当新产品开发小组愿意在随机时间停下来,坐下来,谈论他们的想法,并开始探讨与该想法相关的概念时,我知道我已经被接纳进入了。

I know I have been adopted into a new product development group when they are willing to stop by at random times, sit down, talk about ideas they have, and begin navigating around concepts related to the idea.

这是学习和帮助塑造新兴产品概念的最佳机会之一。即使企业从未追求过这些想法,它也会让你了解企业的​​发展方向。它还可以帮助指导架构和设计决策,以确保这些想法在未来是可行的。如果没有这些知识,很容易做出严重限制这些新概念或使其追求成本高昂的设计决策。

This is one of the best chances to learn and help shape fledgling product concepts. Even if the business never pursues these ideas, it will give you a sense of where the business is trying to go. It can also help guide architectural and design decisions to ensure that those ideas are possible in the future. Without this knowledge, it is very easy to make design decisions that severely limit these new concepts or make them expensive to pursue.


笔记

Note

在敏捷领域,我们经常谈论重构代码,好像它既简单又便宜。与业务人员互动时,请尝试从您的词汇表中移除“重构”一词。重构通常被视为“这会很昂贵”的代名词,因此,它可能会破坏与业务人员的有效对话,并可能被视为对糟糕设计的重新设计。

In the agile space, we often talk about refactoring code as if it were simple and inexpensive. When interacting with the business, try to remove the word refactor from your vocabulary. Refactor is often perceived as a code word for “This is going to be expensive,” and as a result, it can derail productive conversations with the business and will likely be viewed as rework to a poor design.


尝试了解什么对业务重要;通常不是架构,而是风险、成本和可维护性的管理。学会不要把任何事情放在心上;通常业务正在推动不同的目标。

Try to understand what is important to the business; often it is not the architecture, but rather the management of risk, cost, and maintainability. Learn not to take anything personally; often the business is pushing a different set of objectives.

关键是将两个领域(业务和技术)结合在一起。这将帮助您了解如何有效地合作并赢得他们的信任。

The key is to tie the two areas (business and technology) together. This will help you to understand how to work together effectively and earn their trust.

信任至关重要,它比任何其他属性都能带来更多的机会。

Trust is critical and will lead to more opportunities than just about any other attribute.

站在顾客的角度(学会从外向内看)

最初,至少对于面向外部的应用程序来说,让销售团队拖着一些“疯狂”的架构师一起进行销售访问与客户会面可能会很困难,甚至不可能,但这是可以做到的。

Initially, at least for externally facing applications, it may be hard if not impossible to actually get the sales team to drag some “crazy” architect along on a sales visit to meet with customers, but it can be done.

对于面向内部的应用程序,利益相关者可能是用户以及用户的管理层或高级管理层。与这些人的接触可能更简单,因为您可能能够直接与他们会面。

For internally facing applications, the stakeholders are likely the users and the management or executive management of the users. Access to these individuals may be simpler since you are likely to be able to meet with them directly.

无论是外部还是内部,从外向内寻找的更好起点是离家更近的地方。花点时间

In either case, whether external or internal, a better place to start looking from the outside in is to begin closer to home. Take the time to

图像 查看您的产品目录或其他内部形式的用户文档。

Look at your product catalogs or other internal forms of user documentation.

图像 观看、聆听和阅读您的营销材料。思考

Watch, listen to, and read your marketing materials. Think about

图像正在说什么。寻找正在“宣传”的功能。可能值得为您发现的功能构建思维导图。

What is being said. Look for the capabilities that are being “advertised.” It may be worth building a mind map of the capabilities that you discover.

图像没有说出来。这里的目标不是推断某种形式的欺骗正在发生,或者你需要读心术,而是尝试深入思考。哪些功能对于应用程序的成功至关重要,但不一定对用户可见,至少不是直接可见的?

What is not being said. The goal here is not to infer that some form of deception is taking place or that you need to be a mind reader, but rather to try to think below the surface. What capabilities are essential for the application to be successful but are not necessarily visible, at least directly, to the user?

图像材料如何根据细分市场或用户群发生变化。为什么?

How the materials change per market segment or user group. Why?

尝试想象/理解用户。设身处地为他们着想。他们在工作中做什么?他们在工作之余做什么?

Try to picture/understand the users. Put yourself in their shoes. What do they do at work? What do they do outside work?

图像 了解您的产品线。为什么存在这些产品线?它们存在的理由是什么?了解不同的用户群体以及不同的产品线为他们带来什么价值非常重要。允许多少配置更改?为什么这些配置更改对用户有价值?

Learn your product lines. Why do these product lines exist? What is the rationale for their existence? It is important to understand the different segments of users and what value different product lines bring to them. How much configuration change is allowed? Why are these configuration changes valuable to the user?

图像 获取您的产品。尝试使用它们;在使用它们时,请思考以下问题:

Get access to your products. Try using them; as you use them, think about these questions:

图像这是您想要的工作方式吗?评估可用性等基本启发式方法。

Is this the way you would want to work? Evaluate basic heuristics such as usability.

图像这些产品为什么存在?

Why do these products exist?

图像它们解决了哪些问题?目标是开始了解用户如何使用应用程序以及您的产品如何融入他们的整体工作流程。为什么存在应用程序边界?是否存在尚未解决的问题?

What problems do they solve? The goal is to begin understanding how the users use the application and how your product fits into their overall flow of work. Why do the application boundaries exist? Are there problems that are not being addressed?

图像客户在工作流程中的痛点是什么(与正在使用的系统无关)?目标是能够像用户一样思考。了解他们所做工作的细微差别将使您能够做出更好的技术决策。

What are the customer’s pain points in the workflow (not related to the systems being used)? The goal is to be able to think like your users. Understanding the nuances of the work they do will enable you to make better technical decisions.

图像 与产品概念所有者进行“访谈”。当您参与以下业务领域时:

Set up “interviews” with the product concept owners. As you engage these business areas:

图像准备好您想要进一步了解的具体问题和领域。

Be prepared with specific questions and areas that you want to learn more about.

图像准备好描述你的产品的用途以及使用者,即使你只是在重复营销材料。你要表现出你做了一些功课。

Be prepared to describe what the uses of your products are and who uses them, even if you are just parroting the marketing materials. You want to show that you have done some homework.

图像 看看你是否可以听一些客户支持电话。这样做会让你有机会听到真正的客户声音和他们遇到的问题。想想这些问题:

See if you can listen in on some customer support calls. Doing so will give you a chance to hear real customer voices and the problems they are running into. Think about these questions:

图像为什么这些被认为是问题?

Why are these considered problems?

图像可以做些什么不同的事情?

What could be done differently?

图像根本原因是什么?

What is the root cause?

图像产品有缺陷吗?

Is the product flawed?

图像产品是否不够直观?

Is the product not intuitive?

图像客户对产品有何评价?为什么?找出令客户满意的因素并记下这些因素。有时,正是这些小细节能让用户乐于使用您的工具。

What do customers praise the product for? Why? Find out what delights the customer and make a note of these things. Sometimes it is just the little things that can make the user delighted to be using your tools.

图像是否有新的产品创意或改进建议?这里的目标是找到有助于取悦客户的细微改进领域。是否有简单的更改可以消除问题或使事情变得更直观?这些更改可能包括培训更改、文档更改和应用程序更改。

Are new product ideas or improvements being suggested? The goal here is to find subtle areas of improvement that will help delight the customer. Are there simple changes that would eliminate the issue or make things more intuitive? These could range from training changes to documentation changes to application changes.

图像 考虑报名参加客户培训课程。思考以下问题:

Consider signing up for customer training courses. Think about these questions:

图像为什么要开设这些课程?培训有不同级别吗?

Why are these courses being offered? Are there different levels of training?

图像培训是否以在线方式进行,还是在现场课堂上进行?

Is the training available online or is it available in a live classroom?

图像该课程的既定目的是什么?

What is the stated purpose of the course?

图像有认证吗?

Are there certifications?

图像为什么这个领域需要认证?安全?保障?

Why are certifications required in this area? Safety? Security?

图像培训课程宣传的是哪些产品功能?为什么?

What product features are the training courses promoting? Why?

图像这些培训课程中传递给产品用户的信息与买方/购买者的营销信息是否不同?为什么?

Is the message being delivered to the product user in these training courses different from the buyer/purchaser marketing message? Why?

目标是发现为什么需要培训,以及是否有办法提高应用程序的直观性。这可能有助于改善培训,并可能最大限度地减少培训需求,使用户能够更加自给自足。

The goal is to discover why the training needs exist and if there are ways to increase the intuitiveness of the application. This may help improve the training and possibly minimize the need for training and enable the users to be more self-sufficient.

将您的想法融入客户环境中是件好事。这有助于在做出技术决策时提供持续的指导,例如哪条路径可能需要更改,或者哪些选项组合在一起最有意义并提供最佳用户体验。

It is good to immerse your thinking in the context of the customer. It helps provide a constant source of guidance when making technical decisions as to which path is likely to need changes or which sets of options make the most sense together and provide the best user experience.

与客户会面

Meeting with Customers

客户拜访的形式多种多样。可以是工厂/设施参观、现有最终用户访谈、潜在客户访谈或产品演示,等等。在进行访谈、演示或参观时,找到记录对话的方式——音频、视频、笔记——任何适当且预先批准的方式。

Customer visits can take a variety of forms. They can be plant/facility tours, existing end user interviews, potential customer interviews, or product demonstrations, to name a few. As the interviews, demonstrations, or tours take place, find ways to capture the conversation—audio, video, note taking—whatever is appropriate and preapproved.

如果有机会,请准备好提问。如果你是客户,你会问什么问题?

Be prepared to ask questions if the opportunity arises. If you were the customer, what questions would you ask?

当客户回答您或其他人的问题时,让他们沿着兔子小径走下去;这通常是真正的价值所在。

When the customer responds to your or others’ questions, let them go on rabbit trails; this is usually where the real value lies.

如果你有机会去,那就好好代表你的地区。你希望其他人将来也有类似的机会;不要毁了他们的好机会。向接待你的人展示你的价值;要有礼貌。你可能是他们在潜在项目中遇到的第一个技术人员,你想给他们留下好印象。

If you get the opportunity to go, be a good representative for your area. You want to allow others to have similar opportunities in the future; don’t ruin it for them. Show value to the people who are hosting you; be gracious. You may be the first technical person they meet on the potential project, and you want to leave a good impression.

与客户会面的另一种方法是考虑他们参加什么会议。

Another route to meeting customers is to consider what conferences they attend.

客户服务也是客户互动的重要来源。如果产品性能不佳,可能会让人感到压力,但他们的见解可能是无价的。一个附带的好处是,它实际上可以帮助化解糟糕的局面,因为如果有高级技术人员参与访问,客户会看到供应商在游戏中投入了一些精力。

Customer service is also a great source of customer interaction. It can be stressful if the product is not performing properly, but their insights can be invaluable. A side benefit is that it can actually help defuse a bad situation as the customer will see the vendor putting some skin in the game if a senior technical person is part of the visit.

无论走哪条路,如果你有机会与客户见面,就放下手头的工作,答应下来,然后出发。

Regardless of the path, if you get a chance to meet with your customers, drop what you are doing, say yes, and go.

准备迎接客户拜访

在您访问之前,您应该考虑以下问题:

Before you visit, you should think about these issues:

图像是否需要任何保密协议 (NDA)?如果您正在考虑向外部客户透露新产品创意或方法,这一点尤其重要。您想合法地保护您公司的创意。关键是以巧妙的方式这样做,以免暗示客户不值得信任。

Are any nondisclosure agreements (NDAs) required? This is especially important if you are considering revealing new product ideas or approaches to external customers. You want to legally protect your company’s ideas. The key is to do so in a tactful manner so as not to imply that the customers are not trustworthy.

图像你能亲自拜访他们吗?如果不行,你能参加电话或视频采访吗?理想情况下,你希望通过观察他们的肢体语言来了解他们真正参与的地方、让他们兴奋的事情或让他们失去兴趣的事情。

Can you visit them in person? If not, can you participate in a phone or video interview? Ideally you want to see their body language to find out where they really engage, what gets them excited, or what turns off their interest.

图像如果你在进行采访,会用到脚本吗?目标是在你获取信息的方法上提供一定程度的一致性。

Is there a script that will be used if you are doing interviews? The goal is to provide some level of consistency in how you approach obtaining the information.

图像您的竞争对手的产品是什么?花点时间查看他们的网站和白皮书。

What are your competitors’ products? Take time to review their websites and white papers.

如果您要占用客户大量的时间或征求产品反馈,请考虑发送一份小礼物以表达您的感谢。

If you are going to consume a sizable portion of a customer’s time or elicit product feedback, consider sending a token of your appreciation.

您会和拜访客户的团队一起出行吗?如果客户离您很近,那么与其他人拼车将给您一个交谈的机会。这些对话可以极大地提高您对客户真正有价值的理解。理想情况下,旅行时,团队规模相对较小,与来自不同业务领域的人一起出行。他们会给您独特的视角,并让您接触到新的想法。

Will you be traveling with the group that is making the customer visit? If the customer is close, carpooling with the others will give you a chance to talk. These conversations can dramatically improve your understanding of what is of true value to your customers. Ideally, travel in relatively small groups and with people from different areas of the business. They will give you unique perspectives and expose you to new ideas.

表达您的感激之情;客户和您的客户代表都在百忙之中抽出时间向您提供宝贵的信息。

Express your gratitude; both the customers and your customer representatives are taking time out of their busy day to give you valuable information.

图像 让业务人员多说话。在与外部客户的大多数会议中,您更像是一个观察者。

Let the business folks do most of the talking. In most meetings with an external client, you are more of an observer.

图像 谨慎提问。目标是让客户说话,然后你倾听并学习。

Ask questions sparingly. The goal is to let the customer talk and for you to listen and learn.

图像 构建思维导图。发现基数;发现计数。您需要开始为所收集的信息建立模型。您越能理解用户环境中的重要实体是什么以及这些实体之间的关系,您就越能理解自然需要存在哪些灵活性或约束。

Build a mental map. Discover cardinality; discover counts. You want to begin establishing models for the information that you are gathering. The more you can understand what the important entities of the user’s environment are and the relationships these entities have with one another, the better you will understand what flexibility or constraints naturally need to exist.

图像 建立一个词汇表,记录你听到的独特术语。你需要了解客户的语言和所用术语的细微差别。

Build a glossary of unique terms you hear. You want to learn the customer’s language and the nuances of the terms used.

图像 围绕客户遇到的问题或任务构建场景。这可以帮助您了解系统的各种用途。

Build scenarios around the problems or tasks your customers encounter. This can help you understand the varied uses of the system.

如果客户使用您现有的产品,请查明哪些产品、如何使用、谁使用它们以及任何已知问题。

If the customer uses your existing products, find out which ones, how they are used, and who uses them as well as any known issues with them.

如果可能的话,尝试在拜访之前与将要与客户会面的人会面。这将有助于团队定义角色、界限、计划结果和场景。根据客户的性格,这可能非常有用。并非所有客户都是平等的。

If possible, try to meet prior to the visit with those who will be meeting with the customer. This will help enable the team to define roles, boundaries, planned outcomes, and scenarios. This can be extremely helpful based on the temperament of the customer. All customers are not created equal.

与客户会面

当您考虑您的客户时,请考虑以下几点:

When you think about your customers, consider the following:

图像客户的角色是什么?从客户的角度了解关键职责以及谁负责这些任务。尝试了解客户的业务是如何组织的,以及客户的工作是否需要任何批准。这有助于识别系统的参与者。

What are the customer roles? Listen for key sets of responsibilities from the customer’s perspective and who is responsible for those tasks. Try to listen for how the customer’s business is organized, and if any approvals are required for the customer’s work. This can help identify the actors for the system.

图像为什么客户以这种方式组织?了解这一点可以帮助您理解功能的聚类以及为什么这些功能需要在应用程序中相互关联。

Why is the customer organized this way? Knowing this can help you understand the clustering of capabilities and why these capabilities need to be related to one another within the application.

图像组织的规模是否会影响其组织方式?是否存在规模问题?尽早确定组织需求和规模考虑因素可以决定您的应用程序是否能够自然地融入组织结构。

Does the size of the organization affect the way it is organized? Are there scale issues? Identifying organizational needs and scale considerations early on can make or break your application’s ability to fit naturally into the organizational structure.

图像存在隐私问题吗?了解隐私问题有助于推动您的安全要求,并可能满足某些认证的需求。

Are there privacy issues? Understanding privacy concerns can help drive your security requirements and potentially the need for certain certifications.

图像您了解客户的工作流程吗?该工作流程如何为客户增加价值或降低成本?了解您的产品如何融入整体工作流程有助于确定是否需要新的/不同的功能,并有助于提高您交付产品的整体价值。

Do you understand the customer’s workflow? How does this workflow add value or remove cost for the customer? Knowing how your product fits into the overall workflow can help determine if new/different capabilities are needed and can help raise the overall value of the product you deliver.

图像客户以这种方式工作有什么好处?客户工作流程通常是随着时间的推移而建立起来的,并且自然而然地提高了效率。尝试了解工作以这种方式完成的理由。这将有助于您以后做出决策。

What advantages exist for the customer to work this way? Customer workflows have usually been established over time, and there are natural efficiencies that have evolved. Try to understand the rationale for why the work might be done the way it is. It will help inform your decision making later on.

图像是否还有其他系统需要交互或集成?您的产品是否与其他产品自然契合?是否可以或应该与其他公司建立自然的合作伙伴关系,以巩固其市场领导地位?

Are there other systems that need to be interacted with or integrated with? Does your product naturally fit with other products? Are there natural partnerships that can or should be established with other companies due to their market leadership?

图像是否需要通知?是否有警报或通知可以让客户注意到重要信息?如果系统让客户知道某件事是否完成、某件事是否即将失败或是否有新信息可用,客户可以节省时间。用户可以配置这些信息吗?

Are notifications needed? Are there alerts or notifications that can bring essential information to the attention of the customer? Customers could save time if the system lets them know whether something is complete, something is about to fail, or some new information is available. Can the user configure this information?

图像这些信息需要传到任何地方吗?这个问题的答案可以帮助确定潜在的报告或通知需求。客户今天制作了哪些类型的报告?需要跟踪什么?是否有关于工作流程的分析可以帮助提高工作效率或帮助提高质量?

Does this information need to go anywhere? The answer to this question can help identify potential reporting or notification needs. What types of reports does the customer produce today? What needs to be tracked? Are there analytics about the workflow that could help drive efficiencies in the work or help improve quality?

图像客户是否发现目前面临的问题?这些问题目前如何处理?解决方案是手动处理的吗?可以自动化吗?

Has the customer identified any problems currently being faced? How are these problems handled today? Is the solution handled manually? Can it be automated?

图像客户当前的系统是否令人满意?如何才能使这些系统变得更好?客户愿意为改进付费吗?如果愿意,要花多少钱?确定客户愿意花钱的地方;这些都是您的产品建立价值的真正机会。

Are the customer’s current systems satisfactory? What would make these systems better? Would the customer pay for improvements? If so, how much? Identify areas on which a customer is willing to spend money; these are real opportunities for your product to establish value.

图像客户目前有购买该产品的预算吗?了解谁控制着购买决策对于您的产品需求至关重要。最后,您不仅需要向使用您产品的人展示价值,还需要向批准购买您产品决定的人展示价值。

Does the customer currently have a budget for the product? Learning who controls the purchasing decisions is essential for your product needs. In the end, you need to show value not only to the person using your product, but also to the person who will approve the decision to purchase your product.

图像您的客户是否知道潜在的竞争产品?如果知道,它们是什么?他们为什么使用或不使用它们?它们的优点和缺点是什么?是否有其他产品提供类似的服务,但不被视为竞争对手?您收集的有关竞争产品提供的具体价值的信息越多,您就越能确定您的产品可能需要在哪些方面有所改进才能具有竞争力。

Do your customers know of potentially competitive products? If so, what are they? Why are they or aren’t they using them? What are the pros and cons? Are there other products that offer similar services but aren’t considered competitors? The more information you can gather about the specific value the competing products offer, the more you can determine where your product may need to move to be competitive.

图像解决问题是否存在风险,例如法律、法规或安全风险?了解某些产品的风险可以帮助您确定需要对您提供的产品进行哪些管理、跟踪或测试。

Are there risks associated with solving the problem, such as legal, regulatory, or safety? Understanding the risks surrounding certain products can help you make a determination of what needs to be managed, tracked, or tested with respect to the products you are offering.

在会议即将结束时,向客户征求反馈并回顾此次拜访的主要收获,确保你准确听到了所有内容。这也有助于建立关系。

Near the close of the meeting, ask the customer for feedback and recap key learning from the visit to make sure you heard everything accurately. This can also help build a relationship.

回顾客户拜访

一旦你有机会拜访客户,总结你所学到的东西是至关重要的。随着你对客户的了解越来越多,观察这些总结如何随着时间的推移而变化和转变是很有趣的。

Once you have had a chance to go on a customer visit, it is essential to summarize what you learned. It is interesting to see how this changes and morphs over time as you learn more about your customers.

如果可能的话,尝试与参加客户拜访的其他人讨论会议。了解他们听到了什么、学到了什么,以及如何将其应用于您的业务。

If possible, try to talk to others who were also on the customer visit about the meeting. Discover what they heard, what they learned, and how it applies to your business.

他们谈论的内容与你先入为主的观念或你以前的想法有什么不同?这是否重要?这是一个不同的机会吗?

What is different in what they are talking about compared to your preconceived notions or different from the thoughts you have had previously? Is it significant? Is it a different opportunity?

以电子方式记录您的想法并将其存储在易于搜索的区域,以便您以后找到它们。

Capture your ideas electronically and store them in a good searchable area to enable you to find them later.

与产品管理人员一起回顾此次访问和印象。

Circle back with product management for a review of the visit and impressions.

我的经验是,客户访问的总结是最有价值的。听听其他人对客户访问的看法,并比较和对比客户的感知需求和实际需求,这很有趣。每个人都有不同的见解。我看到,关于哪里可能有产品机会的最初想法已经完全改变,出现了新的、更具战略性的机会。真正的价值就在于对客户需求的新深入了解。在这些客户访问中获得的见解给我留下了深刻的印象,使我能够在之后的几年里做出更好的架构决策。

My experience has been that the recaps of the customer visits are the most valuable. It is fascinating to hear what others thought of the customer visit and to compare and contrast the perceived and real needs of the customer. Everyone has different insights. I have seen the initial thoughts about where there may be product opportunities completely change and new, more strategic opportunities emerge. It is in that newly gained deep understanding of customer needs where the real value lies. The insights that are gained in these customer visits leave a lasting impression on me and enable me to make better architectural decisions literally for years afterward.

捕捉顾客的声音

当您开始思考客户说了什么以及他们如何说时,请尝试在您的领域建模练习中使用客户和客户的客户的语言。

As you begin to think about what the customers have said and how they have said it, try to use the language of the customer and the customer’s customer in your domain modeling exercises.

花点时间理解所提到的名词。仔细聆听。是否有与您使用的语言相冲突的术语?你们是否各说各话?捕捉这些微妙的细节可以大大节省您的时间,避免对客户试图传达的内容做出错误的假设。

Take the time to understand the nouns being mentioned. Listen carefully. Are there terms that conflict with the language you use? Were you talking past one another? Capturing these types of subtle details can save you dramatically by avoiding bad assumptions about what the customer was trying to communicate.

如果您察觉到顾客说话中存在一些细微的差异,并尽早发现这些差异,请提出问题来澄清他们真正的意思,而不仅仅是您认为他们说了什么。

If you sense some subtle variances in what customers are saying and catch them early enough, ask questions to clarify what they really mean, not just what you thought they said.

学习客户的语言也有助于营销材料的开发。

Learning the language of the customer can also help with the development of marketing materials.

先倾听,再解决问题

“人类只有鼓起勇气远离海岸,才能发现新的海洋。”

“Man cannot discover new oceans unless he has the courage to lose sight of the shore.”

—安德烈·纪德

—André Gide

从产品概念的角度来看,在有机会消化客户所说的内容并更广泛地考虑问题之前,很容易就提出解决方案。花时间仔细倾听客户并听取他们的故事(见图2.3)。

From a product concept point of view, it is really easy to dial into solutions before you have had a chance to digest what the customer has said and to consider the problems more broadly. Take the time to listen to carefully to customers and hear their stories (see Figure 2.3).

图像

图2.3先听。

Figure 2.3 Listen first.

在开始解决问题之前,请仔细聆听客户真正需要什么;在为客户提供基本解决方案(下一章的主题)后,请寻求反馈并反复重复该循环。

Before you jump into solutions, listen carefully to what the customer is really asking for; after you have a basic solution for the customer (the topic of the next chapter), seek feedback and repeat the cycle over and over.

什么会让顾客高兴?

What Will Delight the Customer?

客户会告诉你很多他们认为可能需要的东西。你需要了解的是以下内容:

Customers will tell you a lot of things that they think they may need. What you want to find out is the following:

图像他们的痛点是什么?

What are their pain points?

图像如何才能使它们更有效率呢?

How can you make them more efficient?

图像你怎样才能满足需求?

How can you fill a need?

如果您能消除或大大减少潜在客户的问题,他们就会考虑您的产品。不要只解决他们的问题;要努力取悦客户。

If you can eliminate or greatly reduce a problem for potential customers, they will look to your product. Don’t just solve their problems; seek to delight the customer.

了解市场

Understanding the Market

在你开始了解你的客户之后,下一个关注的领域是你的产品所适合的整个市场。考虑一下:

After you begin to understand your customer, one of the next areas of focus is the overall market or markets that your product fits into. Consider:

图像你的产品对哪些市场有影响?开始了解你的产品所应用的市场和行业多样性,可以帮助你了解需求的多样性。予以考虑,以及是否需要根据目标市场对产品进行差异化。

What markets does your product have an impact upon? Beginning to understand the variety of markets and industries where your product is used can help give you a sense of the diversity of needs to be considered, and if there is a need for product variances based on the markets being targeted.

图像总体市场机会是什么?了解最大潜在收入来源在哪里有助于确定哪些功能或能力最重要,并有助于确定开发工作的优先顺序。

What is the overall market opportunity? Understanding where the largest amount of potential revenue is can help determine what features or capabilities are most important and help prioritize development efforts.

图像这仅仅是区域性还是全国性的解决方案?了解您的产品吸引哪些客户,有助于确定重点关注哪些功能,并开始深入了解推动销售的因素。特定区域或特定国家联盟有什么特点?寻找“为什么”。

Is this only a regional or national solution? Knowing what customers your product appeals to can help drive what features to focus on and also to begin getting a deeper knowledge of what drives sales. What is it about a particular region or a particular national alignment? Drive for the “why.”

图像这个解决方案容易复制吗?容易做到吗?了解推动您价值的秘诀至关重要。通常,它不容易复制或容易做到。找到您独有的领域可以帮助推动市场认同和采用。

Is this solution easy to replicate? Is it easy to do? It is critical to understand what your secret sauce that drives your value is. Typically, it is something that is not easy to replicate or easy to do. Finding areas that are uniquely yours can help drive market identity and adoption.

图像为什么以前没有人这样做?现在有什么不同使得这个解决方案能够实现?发生了什么变化?了解现在的市场状况以及它在不久的将来的技术能力方面的情况可以帮助您找到要关注的领域。

Why hasn’t anyone done this before? What is different now that enables this solution to be accomplished? What has changed? Understanding where the market is now and where it is in respect to near-future technology capabilities can help guide you toward areas to focus on.

图像什么才算足够好?什么才算优秀?努力了解保持竞争力的最低要求是什么以及进入市场需要哪些要求至关重要。理想情况下,超越这一点并获得让客户满意的特性和功能应该是您期望的最终状态。

What is considered good enough? What is excellent? Working toward understanding what the minimal requirements to be competitive are and what requirements are needed to get in the door is essential. Ideally, moving beyond this and getting the features and functionality to delight the customer should be your desired end state.

图像进入该领域是否存在任何障碍,例如认证或许可?了解进入壁垒对于了解在此领域开展业务的一些基本成本非常重要。

Are there any roadblocks to entry, such as certifications or licensing? Knowing the barriers to entry is important to help understand some of the base costs of doing business in this area.

图像是否需要集成?用户通常一起使用哪些工具?是否有方法使他们的工作更加无缝?始终留意可以简化客户体验或节省时间的领域。这些效率可以帮助推动销售。

Are there required integrations? What tools are the users normally using together? Are there ways to make their work more seamless? Always be on the lookout for areas where you can simplify the customers’ experience or save them time. These efficiencies can help drive sales.

图像它们是否属于类似类型的客户活动?在不同的行业?在不同的行业领域?答案可能会为您遇到的挑战提供解决方法。

Are they similar types of customer activities? In different industries? In different areas of the business? The answer may suggest an approach to solving the challenges you run into.

图像您带来的独特之处是什么?确定差异化和比较的关键领域对于在市场中脱颖而出至关重要。仅仅复制其他产品通常不会提高市场价值。

What is unique about what you bring to the table? Identifying key areas of differentiation and comparison is important to be able to stand out in the marketplace. Being just a copy of something else typically does not drive market value.

图像什么是难题?通常,任何工作流程中都存在本质上很难的问题。将这些视为需要注意的风险和机会来源。如果无法实现自动化,这些领域可能需要人工干预。

What is the hard problem? Normally in any workflow there are problems that are intrinsically hard. Identify these as sources of risks and opportunities to be aware of. These may be areas that require human intervention if automation is not possible.

图像市场是否有任何自然的分层或分组?了解或开发整体市场如何分组的结构以及与这些分组相关的角色,有助于从成本角度和能力角度关注适合每个组的特性和功能集。

Is there any natural tiering or grouping to the market? Knowing or developing a structure of how the overall market is grouped and personas that are associated with these groupings can help focus the set of features and functionality that are appropriate for each group both from a cost perspective as well as a capabilities perspective.

图像该产品的性能或规模要求是什么?了解数据量、预期响应时间、可接受的停机时间以及服务或功能的业务关键性可以显著推动创建解决方案所涉及的总体方法和成本。

What are the performance or scale requirements around this product? Knowing the volume of data, the expected response times, the acceptable downtimes, and the business criticality of the service or capability can significantly drive the overall approach and cost involved in creating solutions.

图像每个客户都有独特的方面吗?他们是否需要根据所服务的市场类型进行定制或特定配置?他们可能期望能够添加自定义功能或修改现有功能以满足他们的特殊需求。这可能会推动服务组织满足市场中客户的特殊需求。

Are there unique aspects to every customer? Do they require customization or specific configuration depending on the type of market that is being served? They may have expectations of being able to add custom functionality or modify existing functionality to meet their special needs. This may drive the need for a services organization to deal with the specialized needs of the customers in the market.

图像是什么驱动着他们的决策?谁是购买决策者?有时是产品的实际用户,但很多时候是专门从事采购或采购的人。如果决策者不是用户,谁会影响购买决策?了解购买者在做出购买决策时的顾虑和限制会影响您如何包装、捆绑或授权产品。

What drives their decision making? Who is the decision maker for purchases? Sometimes it is the actual user of the product, but many times it is someone who specializes in purchasing or sourcing. If the decision maker isn’t a user, who influences the purchasing decision? Understanding the purchaser’s concerns and constraints on making a buy decision can affect how you package, bundle, or license the product.

图像客户是集体行动吗?换句话说,他们是否都倾向于互相效仿?如果是这样,谁是早期采用者?还是他们独立行动?早期采用者能否或是否会提供推荐?

Do the customers act in a pack? In other words, do they all tend to follow one another? If so, who is the early adopter? Or do they act independently? Can or will the early adopters provide referrals?

图像什么因素影响客户的购买意愿?决策是否基于业内其他人的做法?是否基于成本节约?是否基于质量改进?了解哪些因素可以增加感知价值和实际价值,有助于确定哪些功能是更好的投资,并有助于产品开发和路线图。

What influences customers to buy? Is the decision based on what other people in the industry are doing? Is it based on cost savings? Is it based on quality improvements? Knowing what adds perceived and real value can help drive which features are better investments and help with product development and roadmapping.

图像您提供的是整个解决方案还是只是解决方案的一个模块或一部分?了解您提供的解决方案的哪一部分有助于确定其总体价值。

Are you providing the entire solution or just a module or portion of the solution? Understanding what portion of the solution you are providing can help determine its overall value.

图像进入壁垒是什么?你能轻松克服它们吗?如果不能,你可以和谁合作?如果你决定与某人合作,尽早记录并签署协议;生活中可能会出现意想不到的转折,并使您的投资失效。我曾见过由于无法在流程后期就条款达成一致,而未能尽早签署协议导致产品无法发布的情况。

What are the barriers to entry? Can you easily overcome them? If not, with whom could you partner to do so? If you do decide to partner with someone, get the arrangement documented and signed early; life can take unusual twists along the way and invalidate your investment. I have seen a lack of early signed agreements hold a product hostage from release due to an inability to come to an agreement on terms late in the process.

一个关键考虑因素是让客户更容易与您做生意;这将为您提供更好的销售机会。另一方面,如果让购买变得困难,您还不如不去费心。如果没有人购买,即使是世界上最好的产品也毫无价值。

One key consideration is to make it easy for your customers to do business with you; this will give you a better chance of making a sale. On the other hand, make it hard to purchase and you might as well not bother. The best product in the world has no value if no one buys it.

当你审视整个市场时,寻找机会,跳出固有思维模式,并照顾客户的最大利益。通常到处都有机会。

As you look at the overall market, look for opportunities, think out of the box, and look after your customers’ best interests. There are usually opportunities everywhere.

了解客户的客户

Learning about the Customers’ Customers

从更广泛的角度来看待您的产品所处的市场或市场,就是考虑谁是您客户的客户。如果您能理解客户试图为他们的客户解决的问题,您就更有可能提供相关的解决方案,并有可能为他们接近客户的方式提供替代方案。

Taking a broader look at the notion of the market or markets in which your products operate is to consider who your customers’ customers are. If you can understand the problems your customers are trying to solve for their customers, you have a much better chance of providing relevant solutions and potentially alternatives to how they approach their customers.

当您采用这种方法时,您就有机会成为客户的重要合作伙伴,而不仅仅是他们试图减少的另一项开支。当您开始考虑这种方法时,请花时间考虑以下几点:

When you take this approach, you have the opportunity to become a valued partner with your customers and not just another expense they are trying to reduce. As you begin thinking about this approach, take time to consider the following:

图像谁是你客户的客户?想想他们的客户最关心的是什么。什么能给他们带来价值?

Who are your customers’ customers? Think about what their customers’ primary concerns are. What brings value to them?

图像您的产品如何帮助您的客户服务他们的客户?

How does your product help your customers serve their customers?

图像他们与客户的关系是什么样的?他们是客户的合作伙伴吗?他们的客户是回头客吗?

What is the nature of their relationship with their customers? Are they a partner with their customers? Are their customers repeat customers?

图像您的产品如何影响客户的需求?了解您如何带来价值。

How does your product impact their customers’ needs? Learn how you bring value to the table.

图像还有其他方法可以帮助他们更好地服务客户吗?

Are there other ways that you can help them serve their customers better?

图像他们的销售模式是什么?他们是基于订阅的吗?他们是基于辅助的吗?是一次性购买吗?他们的产品是消耗品吗?了解你的客户如何赚钱可以影响他们对什么功能感兴趣,以及这些功能是否可以证明可能更高的价格是合理的。

What is their sales model? Are they subscription based? Are they ancillary based? Is it a single purchase? Is their product consumable? Knowing how your customers make money can influence what features they are interested in and if the features can justify a potentially higher price.

图像你的产品如何让客户赚钱?你对他们来说只是一项开支,还是作为他们整体价值主张的一部分提升了他们的价值?

How does your product enable your customers to make money? Are you an expense for them or do you raise their value as part of their overall value proposition?

图像您的产品能帮助他们保持市场份额吗?他们在与谁竞争?他们如何脱颖而出?能够帮助您的客户保持并扩大其市场占有率将有助于您发展业务。

Will your product enable them to maintain market share? Whom are they competing against? How do they differentiate themselves? Being able to help your customers maintain and grow their market presence will help you grow your business.

图像您的产品为他们提供了哪些竞争优势?您的产品如何帮助他们保持竞争优势?了解您能带来什么价值很重要。您是否可以拓展其他领域并为您的客户带来更多价值?

What competitive advantages does your product give them? How can your product help them maintain their competitive advantage? It is important to understand what value you bring to the table. Are there other areas you could expand into and bring more value to your customers?

图像您的产品或新产品功能是否能帮助客户省钱?您让客户效率越高,您为客户带来的价值就越大,您也就越能证明您与客户之间的财务安排是合理的。

Will your product or new product features help save customers money? The more efficient you can make your customers, the more value you bring to the table and the better you are able to justify the financial arrangement your business has with them.

关键是要获取有关您所做工作的更多背景信息,并了解客户所遇到的问题的性质。您希望他们将您视为其业务合作伙伴。

The key is to gain more and more context for the work you are doing and to understand the nature of the problems that your customers are encountering. You want them to view you as a partner in their business.

顾客愿意在哪里花钱?

Where Are the Customers Willing to Spend Money?

通过花时间了解客户的客户是谁,您可以找到对客户来说价值最高的领域。这反过来会让您了解客户愿意在哪里花钱(见图2.4)——真正的价值就在这里。

By taking the time to learn who your customers’ customers are, you can find the areas of highest value to your customers. This should in turn give you a sense of where your customers are willing to spend money (see Figure 2.4)—where real value exists.

图像

图2.4学会了解客户看重什么。

Figure 2.4 Learn to understand what the customer values.

可以添加到产品中的功能总是无穷无尽的,但关键是要找到能够增加足够价值的功能,以便您能够吸引新客户,让现有客户回来购买更多产品,并且让您的客户愿意为您增加的额外价值支付更多费用。

There are always an endless number of features that can be added to a product, but the key is to find the features that add enough value that you are able to attract new customers, that you bring existing customers back to purchase more, and that your customers are willing to pay you more for the extra value you are adding.

技术在不断进步,这意味着您需要将不断变化的条件纳入您的商业模式中。

Technology is continually improving, which means you need to factor changing table stakes into your business model.

不断添加新功能的挑战在于,在某种程度上,客户的收益会减少。额外的成本无法弥补他们节省的时间或培训的复杂性向所有人介绍新功能。简单性几乎始终是我们愿意接受新事物的一个基本要素。必须有足够的收获来抵消学习新事物的痛苦。

The challenge with always adding new features is that at some point there are diminishing returns for customers. The additional cost does not justify the amount of time they will save or the complexity involved with training everyone on the new features. Simplicity is almost always an essential element in our willingness to adopt new things. There has to be enough of a gain to justify the pain of learning something new.

真正的价值体现在客户愿意花钱的时候。想想是什么让你愿意花钱。我们都是客户,所以从他们的角度考虑产品或服务通常会打开一些新的视角(见图2.4)。

True value is expressed when customers are willing to part with their cash. Think about what makes you willing to spend your cash. We are all customers, so thinking about the product or service from their point of view will usually open some new perspectives (see Figure 2.4).

竞争对手在做什么?

What Is the Competition Doing?

看看你的竞争对手并考虑:

Look at your competitors and consider:

图像您所在领域的竞争产品有哪些?了解您的竞争对手是谁、他们提供哪些产品以及他们在哪里进行投资,可以帮助您了解您的公司需要在哪些方面脱颖而出并在市场上展开竞争。

What are the competing products in your field? Learning who your competitors are, what products they offer, and where they are making investments can help inform where your company needs to differentiate and compete in the marketplace.

图像他们如何描述他们的产品?当他们营销时,他们确定了哪些角色?他们认为哪些功能有价值?

How do they describe their products? When they are marketing, what roles do they identify? What features do they deem valuable?

图像他们是否在将自己的产品与您的产品进行比较或对比?如果是,他们认为自己有何不同或更好?他们是否试图在成本、质量或易用性方面展开竞争?了解竞争对手如何看待您的产品有助于建议哪些方面需要投资,并揭示竞争对手可能薄弱或脆弱的领域。

Are they comparing or contrasting their products and yours? If so, how do they see themselves as different or better? Are they trying to compete on cost, quality, or ease of use? Knowing how your competition views your products can help suggest where investments are needed and also shed light on areas where the competition may be weak or vulnerable.

图像他们正在解决什么问题?即使您生产的产品可能与竞争对手的产品几乎相同,了解他们的价值主张可以让您了解他们试图吸引哪些类型的客户,并可能为您的产品开辟新的市场领域。

What problems are they solving? Even though you may produce products that are nearly identical to those of your competition, understanding what they view as their value proposition can inform you about what kinds of customers they are trying draw in and may shed light on new market areas for your products.

图像他们是在尝试提供优质产品或服务吗?还是他们试图成为价值提供者,更关注等式的成本方面?他们能够将自己与您区分开来的方式可以在客户眼中建立感知价值。它还可以为您提供有关产品的新思路和替代思维方式。

Are they trying to provide a premium product or service? Or are they trying to be a value provider, focusing more on the cost side of the equation? The way they are able to differentiate themselves from you can build perceived value in the eyes of their customers. It can also give you new and alternative ways of thinking about your products.

图像竞争对手的产品在哪些方面不能满足客户的需求?为什么他们不能满足这些需求?试着想想他们的客户会如何看待这些功能的缺失。

Are there areas where the competition’s products are not meeting the needs of their customers? Why are they not addressing these needs? Try to consider how their customers would view the absence of these capabilities.

图像是否有必备功能?这些功能是否是每个角色都需要的?了解考虑购买的最低功能集是一个关键因素。如果您的客户可以因为您不国际化或不支持某种用户需求而快速排除您,那么他们的生活就会变得轻松。现在选择更少了,您给了他们一个机会,让他们看起来好像已经做了充分的尽职调查。如果您在某个投标中被拒绝,请花点时间找出不选择您的产品的理由。答案可能有助于确定您的产品需要具备的一组功能。

Are there table stakes—must-have features? Are these features required for every role? Knowing the minimum set of features to even be considered for purchase is a key element. If your customers can quickly eliminate you because you are not internationalized or you don’t support a certain kind of user need, it makes their life easier. There are now fewer options, and you have given them an opportunity to look as if they have done adequate due diligence. If you are rejected for a particular bid, take time to find out what the rationale for not selecting your product was. The answer may help identify a set of capabilities that your product needs to have.

图像是否有可以合作的专家?他们是否在行业内,能否帮助指导您的产品决策或方法?通常,在一个行业内,有一些专家能够了解整个市场的脉搏,并能为您提供有关您的产品如何被看待的见解。他们可以提供有关您的产品中缺少或不必要的内容的反馈。

Are there experts with whom you can partner? Do they exist in the industry and can they help guide your product decisions or approach? Often within an industry, there are experts who have a finger on the pulse of the overall market and can give you insights into how your products are perceived. They can provide feedback about what is missing or unnecessary in your product.

图像您的竞争对手是否意识到了新兴趋势?您的竞争对手想要进入哪个领域?您是否应该尝试进入该领域,或者根据贵公司的战略,该领域是否真的没有任何价值?阅读行业领袖的博客和书籍。此外,阅读行业出版物和组织网站上的文章。

Is your competition aware of emerging trends? Where is your competition trying to go? Should you be trying to go there or is there really no value in that direction based on your company’s strategy? Read the blogs and books of industry leaders. Also, read articles in trade publications and organization websites.

图像你能快速跟进吗?有时这可能是一个好策略,可以最大限度地降低投资风险。

Can you be a fast follower? Sometimes this can be a great strategy and minimize the risk of investment.

在查看竞争对手时,问问自己您会购买什么产品。客观回答。您的答案可以告诉您很多有关您要推销的产品的信息。

When looking at the competition, ask yourself what product you would buy. Answer objectively. Your answer can tell you a lot about the product you are going to market with.

您的竞争对手可以对需要解决的领域产生强烈的紧迫感,并有助于刺激对您设计的产品的投资。即使您的竞争对手想要退出市场,他们也可能不会停滞不前。

Your competition can provide a great sense of urgency for areas that need to be addressed and help spur investment in the products for which you are the architect. Your competition is likely not standing still even if they are looking to get out of a market.

通过学习非技术领域,您可以为企业带来新价值。您不仅可以提出新的技术方法,还可以通过实际业务分析来丰富对话内容,以展示新功能如何为客户提供价值,并让您的公司在竞争中占据优势。

By learning the nontechnical areas, you bring new value to the business. Instead of just bringing new technology approaches to the table, you can color the conversation with real business analysis to show how the new capabilities provide value to your customers and give your company an advantage over the competition.

倾听顾客的主题

Listening to Themes across Customers

如果您有幸在相对较短的时间内与许多客户会面,并且仔细聆听,您就会开始听到这些客户的共同主题(见图2.5)。

If you are fortunate enough to meet with many of your customers in a relatively short amount of time and you listen carefully, you begin to hear common themes across those customers (see Figure 2.5).

图像

图 2.5综合多个客户访问有助于集中注意力于新兴的产品概念。

Figure 2.5 Synthesizing multiple customer visits can help bring focus to emerging product concepts.

随着这些主题的发展:

As these themes develop:

图像您能制定出解决新出现问题的方案吗?听两三个客户描述他们面临的类似问题以及他们的需求想法总是很有趣的。一种以战略方式解决这种情况的新方法可以开始出现。您开始看到解决方案中需要灵活性的地方。

Can you formulate a recipe for solving the problems that are emerging? It is always interesting to hear two or three customers describe a similar problem they are facing and their ideas of what their needs are. A new approach for addressing the situation in a strategic manner can begin to appear. You begin to see where flexibility is needed in the solution.

图像是否需要定制?有时每个客户确实都有需要处理的独特情况。您能满足这些需求吗?

Are there needs for customization? Sometimes each customer truly has unique situations that need to be dealt with. Are you able to accommodate those needs?

图像您的解决方案是否不仅适用于您目前考虑的客户?解决方案越通用,您就越有可能找到更广泛的受众来吸引产品或功能集。

Does your solution apply to more than just the customers you are currently thinking about? The more generalized you can make the solution, the more likely it is that you can find a broader audience for the product or feature set to appeal to.

图像你的产品还可能适用于哪些地方?这个解决方案是否只适用于当前的问题,还是存在类似的问题只需进行最少的修改,该解决方案是否也能应用?

Where else might your product be applicable? Does this solution simply apply to the problem at hand, or are there similar problems that with minimal modifications the solution may be applied to as well?

图像从哪里开始比较合理?确定什么对客户最有价值,最大的痛点是什么。解决这些问题将有助于激发人们对您可能希望提供的任何解决方案的兴趣。

Where does it make sense to start? Determine what is of the highest value to the customer and what the biggest pain point is. Solving these areas will help drive interest in any solution you may be looking to provide.

图像您的解决方案在哪个市场最有意义?有时解决方案适用于许多不同的市场。先尝试选择一个市场。这将使您能够在涉足太多领域之前完善解决方案并解决任何问题。

In what market does your solution make the most sense? Sometimes solutions apply to many different markets. Try picking one initially. This will allow you to hone the solution and work out any issues before venturing into too many areas.

了解您的业务

Understanding Your Business

您的企业通常有明确的愿景、使命宣言和目标。通常有一个关键短语或座右铭来概括公司所追求的目标的本质。了解企业既定目标的细微差别并仔细聆听企业领导者所提出的愿景将有助于您协调您制定的解决方案。

Your business normally has a stated vision, mission statement, and goals. There is usually a key phrase or motto that captures the essence of what the company aspires to be. Learning the nuances of the stated purpose of the business and listening carefully to the vision being projected by the leaders of your business will help you align the solutions that you produce.

了解你的企业想要做什么

Learning What Your Business Wants to Do

您所在的企业有目标和战略,可以实现目标。注意您听到高管宣传的战略思想;寻找方法将您正在考虑的项目和产品与这些战略目标结合起来。五年计划是什么?您的产品如何融入其中?

The business you work in has goals and strategies for what it wants to accomplish. Take note of the strategic thinking that you hear your executives evangelizing; look for ways to align the projects and products you are considering to these strategic goals. What is the five-year plan? How does your product fit in?

开始构思一个故事——电梯游说。各个部分如何组合在一起?当你开始向别人讲述这个故事时,请听取他们的反馈。你能否用新的事实或信息来澄清或完善这个故事,以改进故事并使其更具吸引力?

Begin developing a story—an elevator pitch. How do the pieces fit together? As you begin telling others this story, listen to the feedback they give. Can you clarify or refine the story with new facts or information to improve the story and make it more compelling?

个性化公司战略目标

Personalizing Your Company’s Strategic Goals

当你发现有关客户、行业和公司战略目标的大量信息时,你需要将其归结为最重要的信息。为了实现目标,你需要了解应该将重点放在何处,并将重要信息与杂音区分开来。

As you discover endless amounts of information about your customers, your industry, and your company’s strategic goals, you need to boil it down to what is essential. For the purpose of what you are trying to accomplish, learn where to focus and separate the essentials from the noise.

对我来说,这是追随我所热衷的领域。

For me, this is about following areas that I am passionate about.

在早期阶段,你仍在学习大量的信息。要对变化持开放态度;这就是探索的意义所在。

During the early stages, you are still learning inordinate amounts of information. Be open to change; that’s what discovery is all about.

为决策制定提供商业背景

Developing a Business Context for Decision Making

所有这些的意义在于,以后当您估算、概念化和开发系统时,您就有了背景来理解为什么一个决策/设计/方法可能比另一个好得多。您可能会了解哪些领域经常发生变化,哪些领域提供的价值最大;因此,您将能够优先考虑一个功能而不是另一个功能。

The point of all this is that later on when you are estimating, conceptualizing, and developing a system, you have the context to understand why one decision/design/approach may be significantly better than another. You will likely understand the areas that change frequently and what areas provide the most value; as a result, you will be able to prioritize one feature over another.

做好迎接错误开始的准备;当你发现新信息时,要对变化持开放态度;为新的独立机会——正交机会做好准备。

Be prepared for false starts; be open to change as you discover new information; be prepared for new independent opportunities—orthogonal opportunities.

探索最终将使您成为更好的业务合作伙伴。永远记住:一切始于客户,终于客户。

Discovery will ultimately enable you to act as a better partner with the business. Always remember: it all starts and ends with the customer.

概括

Summary

探索之路始于

The road to discovery begins with

图像了解你的客户

Understanding your customer

图像与销售、营销和新产品开发部门合作

Partnering with sales, marketing, and new product development

图像从客户的角度直观展示您的产品

Visualizing your products from the vantage point of the customer

图像准备迎接客户拜访

Preparing for customer visits

图像与客户会面

Meeting with customers

图像回顾从客户访问中了解到的信息

Recapping information learned from customer visits

图像专注于捕捉客户的声音

Focusing on capturing the voice of the customer

图像努力取悦顾客

Seeking to delight the customer

图像了解你的产品所竞争的市场

Understanding the market in which your products compete

图像了解客户的客户

Learning about your customers’ customers

图像发现你的客户愿意在哪里花钱

Discovering where your customers are willing to spend money

图像关注竞争

Keeping an eye on the competition

图像倾听顾客的主题

Listening for themes across customers

图像了解您的业务

Understanding your business

图像了解你的企业想要做什么

Learning what your business wants to do

图像个性化公司目标

Personalizing your company’s goals

图像制定决策的商业环境

Developing a business context for decision making

我个人最喜欢的建筑领域是探索。它激发了我对客户及其所处世界最具影响力的想法。

The area of architecture I personally enjoy the most is discovery. It generates my most formative ideas about customers and the world they live in.

所创建的模型和在商业领域打下的基础多年来一直带来回报。这使我能够成为更好的业务合作伙伴,并成为对话的贡献者,而不仅仅是服务提供商。

The models that get produced and the grounding in the business domain pay dividends for years and years. This is what enables me to be a better business partner and to be a contributor to the conversation and not just a service provider.

参考

References

Amabile, Teresa M.、John Seely Brown、Martha Craumer、Peter F. Drucker、Constance N. Hadley、Steven J. Kramer、Theodore Levitt、Andrall E. Pearson、Ellen Peebles 和 John D. Wolpert。2003 年。《哈佛商业评论:创新型企业》。哈佛商学院出版社。

Amabile, Teresa M., John Seely Brown, Martha Craumer, Peter F. Drucker, Constance N. Hadley, Steven J. Kramer, Theodore Levitt, Andrall E. Pearson, Ellen Peebles, and John D. Wolpert. 2003. Harvard Business Review on the Innovative Enterprise. Harvard Business School Press.

Christensen, Clayton M. 和 Michael E. Raynor。2013 年。《创新者的解决方案:创造和维持成功增长》。哈佛商学院出版社。

Christensen, Clayton M., and Michael E. Raynor. 2013. The Innovator’s Solution: Creating and Sustaining Successful Growth. Harvard Business School Press.

Cooper, Robert G. 2001.赢得新产品:加速从创意到发布的进程。Basic Books。

Cooper, Robert G. 2001. Winning at New Products: Accelerating the Process from Idea to Launch. Basic Books.

Cooper, Robert G. 2011.赢得新产品:通过创新创造价值。Basic Books。

Cooper, Robert G. 2011. Winning at New Products: Creating Value through Innovation. Basic Books.

Drucker, Peter。2008 年。关于组织,您最应该问的五个最重要的问题。Jossey -Bass。

Drucker, Peter. 2008. The Five Most Important Questions You Will Ever Ask about Your Organization. Jossey-Bass.

Hagadorn, Andrew。2003 年。《突破如何发生:企业创新的惊人真相》。哈佛商学院出版社。

Hagadorn, Andrew. 2003. How Breakthroughs Happen: The Surprising Truth about How Companies Innovate. Harvard Business School Press.

Murphy, Kevin J. 1992.《有效倾听:如何通过倾听他人的想法和建议获益》。ELI Press。

Murphy, Kevin J. 1992. Effective Listening: How to Profit by Tuning into the Ideas and Suggestions of Others. ELI Press.

Porter, Michael E. 1988. 《竞争优势:创造和维持卓越绩效》。自由出版社。

Porter, Michael E. 1988. Competitive Advantage: Creating and Sustaining Superior Performance. Free Press.

第 3 章 概念化

Chapter 3. Conceptualization

“建筑师是梦想的绘制者。”

“An architect is the drawer of dreams.”

—格蕾丝·麦加维

—Grace McGarvie

“对于一名建筑师来说,知道如何看待事物是至关重要的:我的意思是,要以这样的方式看待事物,使视野不会被理性分析所压倒。”

“It is essential to an architect to know how to see: I mean, to see in such a way that the vision is not overpowered by rational analysis.”

—路易斯·巴拉甘

—Luis Barragán

“成为一名建筑师的伟大之处在于你可以走进你的梦想。”

“The great thing about being an architect is you can walk into your dreams.”

—哈罗德·E·瓦格纳

—Harold E. Wagoner

“我认为,建筑的起点就是概念。”

“I claim that is where architecture starts, with the concept.”

—路易斯·康

—Louis Kahn

您是否曾经在听别人说话时,听到的想法开始凝聚成概念?这些概念还没有名字,但它们是真实的,尽管有点模糊。随着谈话的继续,这些概念继续演变成越来越具体的想法。最终,这些想法有了自己的个性和名称:您可以画出它们、命名它们、与它们相关,并谈论它们,就好像它们就在您身边一样。这个过程被称为概念化构思,有时也称为模糊前端

Have you ever been listening to someone talk, and the ideas you hear begin coalescing into notions? These notions don’t have names yet, but they are real, though a bit cloudy. As the conversation continues, these notions continue to evolve into ever more solid ideas. Eventually these ideas take on personalities and names of their own: you can draw them, name them, relate to them, and talk about them as if they were sitting right next to you. This process is known as conceptualization, ideation, or sometimes the fuzzy front end.

在软件开发领域,架构师通常是业务领域和技术之间的主要纽带之一。您能够了解业务需求、将其转化为高级概念并将其与业务战略需求保持一致,这是至关重要的。

In the world of software development, the architect is typically one of the chief links between the business world and technology. Your ability to hear what the business wants, translate it into a high-level concept, and align it with the strategic needs of the business is a vital role.

本章揭示了软件架构师所需的一项基本技能:将客户的想法概念化为可通过构思实现的东西的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to conceptualize a client’s or customer’s notion into something implementable through ideation.

构思

Ideation

创意是一种以客户为中心的解决方案,其重点是寻找解决客户问题的新方法。在商业环境中,重点不仅仅是解决新的客户问题,而是以最终增加收入、降低成本或获得/保持战略优势的方式增加价值(见图3.1)。

Ideation is a customer-centric solutions approach where the focus is finding new ways of solving customer problems. In a business setting, the focus is not simply solving new customer problems but adding value in a way that will ultimately drive revenue, reduce costs, or gain/maintain strategic advantage (see Figure 3.1).

图像

图 3.1创意以客户为中心;考虑各种替代方案来满足客户的需求。

Figure 3.1 Ideation is customer centric; contemplate a variety of alternatives to meet the customer’s needs.


笔记

Note

创意不在于编程语言选择、​​平台选择、编写代码或购买硬件。创意不在于技术,而在于客户。至少现在,请将注意力集中在那里。

Ideation is not about programming language selection, platform selection, writing code, or purchasing hardware. It is not about technology; it is about the customer. Keep your focus there, at least for now.


尽早参与

Getting Involved Early

通常,在你开始与某人共同构思之前,你就开始建立合作关系了。

Usually long before you begin ideating with someone, you begin forming a partnership.

创意是有风险的;当你暴露自己的梦想时,你就会很脆弱。如果你的合作伙伴不喜欢它,那么这个想法可能在它有机会长出翅膀飞翔之前就夭折了。

Ideation is risky; you are exposing your dreams, you are vulnerable. If your partners don’t like it, the idea may die before it gets a chance to grow wings and fly.

创意从根本上建立在信任的概念之上:你会帮助美化创意吗?你会试图扼杀创意吗(创意不是你的)?你会试图窃取创意吗(将其作为你自己的成功工具)?为了创意,信任是合作关系中必须建立的一项基本品质。

Ideation is fundamentally founded on the notion of trust: Will you help embellish the idea? Will you try to kill the idea (it’s not yours)? Will you try to steal the idea (use it as your own as a vehicle for your own success)? Trust is an essential quality to establish in a partnership for the purpose of ideation.

有时,你有时间慢慢与个人或团体建立联系。有时,你会陷入一种可能尚未建立信任的境地。如果没有,你需要立即开始建立信任。

Sometimes you have the time to slowly form a connection with the person or group. Other times you are thrust into a situation where trust may not yet be present. If it is not, you will need to start working on building it immediately.

了解你在合作关系中的角色至关重要:

Learning your role in the partnership is essential:

图像你是領導者嗎?

Are you the leader?

图像这是你的主意吗?

Is this your idea?

图像你能帮助明确这些想法吗?

Are you there to help crystallize the ideas?

图像您是否更像是墙上的一只苍蝇?(倾听是可以的,但您可能还没有获得发言权。在这些情况下,提出问题可能是可以的,但请等待并感受情况;情况并不总是很清楚。)

Are you there as more of a fly on the wall? (It’s okay to listen, but you may not have earned speaking rights yet. It may be okay to ask questions in these situations, but wait and feel the situation out; it’s not always clear.)

随着时间的推移,你可能会建立足够的信任,你的合作伙伴或客户不仅会分享他们当前的想法,还会分享他们对未来的想法,这些重要的想法可以塑造未来的业务并对他人产生有意义的影响。

Over time, you may establish enough trust that your partners or customers will share not only their current ideas, but their ideas about the future, the big ones that can shape the future business and have a meaningful impact on others.

通常,在合作伙伴中的地位是通过努力工作、社交以及融入团队的能力而获得的。

Typically, a place in the partnership is earned through hard work, socialization, and your ability to assimilate into the group.

如果您足够幸运,能够在构思过程的早期赢得他们的信任并展示出价值,那么您的客户最终会开始邀请您参加他们最早的对话,并将您视为一个完整的合作伙伴。

If you are fortunate enough to win over their trust and demonstrate value early in the ideation process, your customers will eventually begin inviting you to the table for their earliest conversations and treat you like a full partner.

有关合作关系的更多信息,请参阅第 1 章合作关系”。

For more information on partnerships, see Chapter 1, “Partnership.”

概念化:将想法变成现实

Conceptualization: Bringing Ideas to Life

概念化和构思带来了产品开发生命周期中最激动人心的时刻:

Conceptualization and ideation lead to some of the most exciting times in the product development life cycle:

图像您对客户需求的理解将大大增强。

Your understanding of what the customer is seeking grows dramatically.

图像可能的解决方案范围不断扩大。

The range of possible solutions explodes.

图像如何将现有的想法和新想法结合起来会引发对你的产品的革命性思考。

How existing ideas and new ideas can be synthesized causes revolutionary thinking about your products.

将概念付诸实践的过程是软件架构的基础要素之一(见图3.2)。概念化生命周期的根源在于寻求本质。

This process of bringing concepts to life is one of the foundational elements of software architecture (see Figure 3.2). The conceptualization life cycle is rooted in seeking the essential.

图像

图3.2概念生命周期

Figure 3.2 Concept life cycle

概念形成

Concept Formation

在产品开发生命周期中,概念会被多次制定和重新表述。为这些产品概念构建基础有几个关键要素。这些要素包括形成通用语言、了解用户背景以及开发概念的可视化。

Concepts are formulated and reformulated many, many times during the product development life cycle. There are several key elements of building a foundation for these product concepts. These include forming a common language, understanding the context of the user, and developing visualizations of the concepts.

他们说什么语言?

What Language Are They Speaking?

在您开始与新团队、新客户或新合作伙伴合作后,您会开始听到重复的单词;这些单词具有独特的用法、发音和上下文。您对这些单词及其含义的细微差别的理解是您融入新部落的开始。这种语言使您的新部落能够有效、快速和准确地进行交流。

After you have begun working with a new group, customer, or partner, you begin to hear words being repeated; they have a distinct usage, pronunciation, and context. Your understanding of the subtleties of these words and their meaning is the beginning of your acceptance into the new tribe. This language enables your new tribe to communicate effectively, quickly, and precisely.

对我来说,用视觉捕捉这种语言是理解该部落的第一种认知形式。在我能够用他们的语言交谈并理解他们所用词语的含义和互动之前,我并不是真正参与正在进行的对话的一部分。这就像被送到一个陌生的国家:一开始,你不仅要努力学习基础知识,还要学习基本知识——相当于“洗手间在哪里?”“餐厅在哪里?”“酒店在哪里?”

For me, capturing this language visually is the first cognitive form of understanding with the tribe. Until I am able to converse in their language and understand the meaning and interactions between the words they are using, I am not really part of the conversations that are taking place. It’s like being dropped off in a foreign country: at first you are struggling to learn not just the basics, but the essentials—the equivalent of “Where is the bathroom?” “Where are the restaurants?” “Where are the hotels?”

这种可视化形式通常是一个领域模型。一开始,我只是试图将这些词与我已经知道和理解的东西联系起来。如果我能跨过这一步——例如,“这就像一个制造过程,这就像一个编译器”,或者我熟悉的其他一些过程或系统——我就能建立起一座通往正在构思的东西的桥梁,并开始对真正谈论的内容有一个高层次的理解。

The visual form this takes is usually a domain model. At first, I am simply trying to relate the words to something I already know and understand. If I can make the leap—for example, “This is just like a manufacturing process, this is just like a compiler,” or some other process or system I am familiar with—I can establish a bridge to what is being conceived and can begin to have a high-level understanding of what is really being talked about.


笔记

Note

很多时候,一个单词或短语在不同的上下文中会有不同的含义。奇怪的是,有时即使是在同一地点的群体之间也会发生这种情况。他们隐含地知道上下文的含义转换。你需要清楚你对事物含义的假设。

Many times, a word or phrase can have different meanings in different contexts. Oddly enough, sometimes this can happen even between groups that are colocated. They implicitly know the context switch in meaning. You need to be clear about your assumptions about what things mean.


除非您开始理解这些语言细微差别,否则您注定会做出错误的决策并形成错误的假设。

Until you begin to understand these language nuances, you are doomed to poor decision making and forming assumptions that are simply wrong.

这些都是你未来的预算破坏者——“哦,我记得谈论过这个;你的意思是……”,然后回答说:“我从没说过这个;我说……”,你会开始意识到你们确实谈过了,但没有发生真正的对话,你的项目顺利进行的机会就会减少。

These are your future budget busters—the “Oh, I remember talking about that; you meant . . . ,” and the reply, “I never said that; I said . . . .” The realization that you did in fact talk to each other but no real conversation occurred begins to emerge, and your opportunities for a smooth-sailing project diminish.

在这个早期阶段,我只是试图理解主要概念和所用词语的含义:

At this early point, I am just trying to understand the main concepts and the meaning of the words used:

图像什么是“大局”?

What is the “big picture”?

图像利益相关者是谁?

Who are the stakeholders?

图像有哪些用例?

What are the use cases?

图像关键名词有哪些?

What are the key nouns?

图像关键动词有哪些?

What are the key verbs?

图像它们彼此之间有何关联?

How do they relate (associate) to one another?

图像他们的基数是多少?

What is their cardinality?

图像是否存在层次关系(“是一种”)?如果是,它是什么?例如,这是一辆车;福特是一种车;一辆车有门,有时有两扇门,有时有四扇门,……

Is there a hierarchical (“is a kind of”) relationship and, if so, what is it? For example, this a vehicle; a Ford is a kind of vehicle; a vehicle has doors, sometimes two doors, sometimes four doors, . . .

图像是否发生任何自然过程流?

Are there any natural process flows that occur?

虽然这些初始模型可能存在部分错误,但没关系;它们开始为你理解周围所说的话奠定基础。这些模型通常采用图表的形式(简单的框、名词和连接线、动词;参见图 3.3)。

Although these initial models may be partially wrong, that’s okay; they begin to give you a foundation for understanding what is being said around you. These models typically take the form of diagrams (simple boxes, nouns and connecting lines, verbs; see Figure 3.3).

图像

图 3.3领域模型和术语表是捕捉客户语言的有效工具。

Figure 3.3 Domain models and a glossary of terms are effective tools for capturing the language of the customer.

“模型具有极强的黏性——因为它们可以帮助人们理解世界。”

“Models are incredibly sticky—because they help people understand the world.”

—奥利维亚·米切尔

—Olivia Mitchell

正在讨论什么问题?

What Problem Is Being Discussed?

当您开始深入研究需要解决的业务问题时,无论是针对内部客户还是外部客户,您都需要熟悉以下问题:

As you begin diving into business problems that need to be solved, whether for internal or external customers, you need to become familiar with these issues:

图像要解决的问题是什么?了解并理解你正在做的事情的目的将使产品概念变得清晰。

What is the set of problems to be solved? Knowing and understanding the purpose of what you are doing will bring clarity to the product concept.

图像当今解决问题的常见做法是什么?了解当今人们解决问题的方式可以开始提出如何自动化解决方案、系统可能无法解决哪些方面以及可以改进哪些方面。

What are common practices for solving the problem today? Gaining a sense of how people solve a problem today can begin to suggest how the solution might be automated, what aspects may not be able to be addressed by a system, and what areas can be improved.

图像客户希望得到什么结果?它能增加什么价值?为什么客户愿意花钱购买它?它如何改善他们的生活?想法很多,但增加真正的价值才是成功的产品概念的关键。

What are the results the customers are hoping for? What is the value add? Why would customers want to spend money on this? How does it make their life better? Ideas are plentiful, but adding real value is the key to a successful product concept.

图像解决问题的新方法有哪些?从外部进入可能是一件好事。它可以让你从新的角度思考如何解决问题,并找到新的创新方法来取悦客户。

What are the possible new ways of solving the problem? Coming in from the outside can be a good thing. It can enable you to think about how you would solve the problem from a fresh perspective and enable new, innovative ways to delight the customer.

图像解决问题是否有流程?如果有,可以描述一下吗?有些事情不是简单的任务,而是需要一系列步骤。记录这些步骤可以给你一个起点,并帮助你看到可以进行改进或全面改变的地方。

Is there a process to solving the problem? If so, can it be described? Some things are not simple tasks but require a sequence of steps. Capturing these steps can give you a place to start from and help you see where improvements or wholesale changes can be made.

图像客户将如何赚钱或省钱?

How is the customer going to earn money or save money?

图像该解决方案对客户的价值主张是什么?

What is the value proposition of the solution for the customer?

图像最终解决方案将针对谁?目标最终用户是否真的认为他们有问题?

To whom will the end solution be targeted? Do the intended end users really think they have a problem?

使用领域模型回答这些问题可以帮助将客户的问题置于可理解的背景中,并有助于推动系统内所需的功能。

Answering these questions with a domain model can help place the customer’s problem in an understandable context and help drive the needed capabilities within the system.

参加创意聚会时,要谨慎承诺

When Arriving Late to the Ideation Party, Be Cautious about Committing

有时当你开始谈话时,其他人都比你领先很多。他们已经合作多年,他们是该领域的“专家”,而你是新手。你不知道坑洼和金子的区别。解决方案已经近在眼前,他们愿意承诺。

Sometimes when you enter a conversation, everyone else is miles and miles in front of you. They have worked together for years, they are “experts” in the area, and you are the new person on the block. You don’t know a pothole from a pile of gold. The solution is already at hand and they are willing to commit.

对于你所承诺的事情要谨慎。

Be cautious about what you commit to.

如果你不了解问题及其背景(即使其他人都了解),而你是被卷入其中的新架构师,那么请让大家知道你对这个决定负责,你会被追究责任——你是架构师。你知道你在承诺什么吗?如果答案是否定的,那就停下火车;现在是你理解的时候了

If you don’t understand the problem and its context (even when everyone else does) and you are the new architect being thrown into the mix, let it be known that you are responsible for this decision and you will be held accountable—you are the architect. Do you know what you are committing to? If the answer is no, stop the train; now is the time for you to understand

图像域名

The domain

图像需要解决的问题

The problem to be solved

图像问题背景

The context of the problem

图像替代解决方案

Alternative solutions

图像企业正在尝试的方向

Where the business is trying to go

作为一名建筑师,你拥有的一项特殊权利就是说“不”。准备好为自己辩护并证明你的答案,但你确实有能力阻止这列火车(见图3.4)。

One of the special rights you have as an architect is to say no. Be prepared to defend yourself and justify your answer, but you do have the ability to stop the train (see Figure 3.4).

图像

图 3.4如果你没有信心能够到达目的地,就学会说不并停下火车。

Figure 3.4 Learn to say no and stop the train if you are not confident you can reach the destination.

说“不”是一种非常有效的手段,可以让事情暂停,并允许进一步的调查或辩解。

Saying no is a very effective tool for putting things on pause and allowing further investigation or justification to occur.

图像此刻,您是否愿意向高管索要解决方案费用?如果不愿意,请拒绝。

Would you at this very instant feel comfortable asking for money for this solution from an executive? If not, say no.

图像您是否愿意向投资者或客户推销此解决方案?如果不愿意,请拒绝。

Would you feel comfortable selling this solution to an investor or client? If not, say no.

图像您是否有足够的信心审查过此解决方案?如果没有,请说“不”。

Are you reasonably confident that you have vetted this solution? If not, say no.

“如果你不能说“不”,那么“是”就毫无意义。”

“Yes means nothing if you can’t say no.”

—彼得·布洛克

—Peter Block

请记住,您的声誉、您的人际关系以及您在组织内的未来生存能力都处于危险之中。

Remember, your reputation, your relationships, and your future viability within the organization are at stake.

底线是,建筑师需要尽可能多地了解事实,然后做出明智的决定。建立良好的声誉需要多年的时间和大量的成功,如果做出错误的决定,声誉可能会瞬间崩塌。

Bottom line is that architects need to get as many of the facts as possible and make an informed decision. It takes years and much success to build a great reputation, and it can crumble in an instant if a bad decision is made.

目标不是永远说不,而是说足够长的时间以便能够提出合理的选择。

The goal is not to say no permanently, but long enough that reasonable options can be presented.

花些时间记录下决策时已知的事实、假设和风险,有助于平息事态发展或高管寻求解释时可能引发的轩然大波。

Taking the time to document the facts, assumptions, and risks that were known at the time of a decision can help calm the firestorm that may ensue later if things do not work out and executives are seeking an explanation.

这个概念是什么样的?

What Does This Concept Look Like?

当你聆听并参与有关所面临的问题或新机遇的对话时,你很可能已经开始形成解决方案主要组成部分的视觉模型(不是详细的可视化,而是粗略的草图——开始封装解决方案各部分的高级框)。这些可能被记录在笔记本、白板上、电子解决方案中(例如 Visio 或其他绘图工具)——这并不重要。关键是开始捕捉关于如何解决问题的各种想法。没有正确或错误的答案;你只是想开始解决这个问题。开始发现

As you have been listening and engaging in the conversations about the problems being faced or the new opportunities that exist, you are likely to have started forming visual models of what the major components of a solution may look like (not detailed visualizations, but rough sketches—high-level boxes that begin encapsulating portions of the solution). These may be captured in a notebook, on a whiteboard, in an electronic solution (such as Visio or some other drawing tool)—it doesn’t matter. The key is to begin capturing a variety of ideas about how the problem might be approached. There are no right or wrong answers; you just want to begin playing around with the problem. Start to discover

图像真正的界限在哪里

Where the real boundaries exist

图像真正的要求可能是什么

What the real requirements might be

图像谁是真正的客户

Who the real customers are

图像存在哪些限制

What constraints exist

图像解决方案的主要组成部分是什么

What the main components of a solution are

您正在努力尽可能多地发现问题和/或机会。理想情况下,尽早参与此过程是有利的;这样做可以让您有机会

You are working to discover as much about the problem and/or opportunity as you possibly can. Ideally, becoming involved in this process as early as possible is advantageous; doing so gives you the opportunity to

图像影响将要考虑的解决方案

Influence the solutions that will be considered

图像让企业了解解决问题的难度

Give the business a sense of the difficulty of solving the problem

图像让企业了解开发问题解决方案的成本

Give the business a sense of the cost of developing a solution for the problem

图像提出可能解决部分问题的替代方案,但几乎不花钱或不花钱(唾手可得的成果)

Suggest alternatives that may solve part of the problem—but solve it with little or no cost (the low-hanging fruit)

图像寻找与不同团体合作的领域并分担开发解决方案的成本

Find areas in which to partner with different groups and share the cost of developing a solution

图像从其他领域寻找解决方案或可能的方法

Find solutions or possible approaches from other domains

图像更好地了解企业的​​发展方向,并有可能找到一系列解决方案,使企业达到最终状态。(这可能使多个业务案例能够逐步为最终状态提供资金并降低总体风险。)

Gain a better sense of where the business wants to go and potentially allow you to find a series of solutions that will get the business to the end state. (This may enable the potential for multiple business cases to incrementally fund the end state and reduce the overall risk.)

“真正的探索之旅不在于寻找新的风景,而在于拥有新的视角。”

“The real voyage of discovery consists not in seeking new landscapes but in having new eyes.”

—马塞尔·普鲁斯特

—Marcel Proust

在此阶段,开发上下文图和概念图将为您提供一些讨论问题和可能替代方案的话题。有时,使用几张不同的图表有助于表明这不是一个完整的解决方案,而是一系列可供比较、对比和修饰的替代方案。

At this stage, developing context diagrams and conceptual diagrams will give you something to talk about as you discuss the problem and possible alternatives. Sometimes having several different diagrams can be helpful to show that this is not a fully baked solution but rather a series of alternatives to compare, contrast, and embellish.


笔记

Note

尽早参与将为你带来最大的成功机会。项目通常会沿着它开始的路径进行。如果你能够有一个良好的开端,其余的事情自然就会水到渠成。

Getting involved early will give you the best chance to succeed. A project normally will follow the path where it starts. If you are able to get it off to a solid beginning, the rest will naturally follow.


你在构思之初就参与的能力会对你制定解决方案的替代方法的能力产生巨大影响。这种背景对于以后的项目或从此构思衍生的项目非常有价值。

Your ability to get involved at the very outset of ideation can have a dramatic impact on your ability to frame alternative approaches to how to deliver solutions. This context is invaluable later in the project or projects that are derived from this ideation.

尽早参与可以从根本上改变您的角色,从解决方案提供商/承包商转变为合作伙伴(坐在谈判桌旁并贡献您最好和最聪明的想法的人)。如果您稍后参与该过程,则该概念的许多界限已经确定,并且重新制定决策的意愿可能会受到限制。

Getting involved early fundamentally changes your role from being a solution provider/contractor to being a partner (one who sits at the table and contributes your best and brightest ideas). If you come into the process later, many of the boundaries for the concept have already been established and the willingness to rehash decisions may be limited.

让客户参与进来(了解他们真正遇到的问题、他们愿意花钱解决的问题以及他们目前如何处理这个问题)可以极大地提高你理解需要生产什么产品以及这些产品需要如何工作的能力。

Getting customers involved (finding out what problems they really have, where they will part with money, and how they deal with this problem today) can dramatically improve your ability to understand what products need to be produced and how they need to work.

如果涉及到客户,请努力参与讨论。通常,企业会害怕技术人员在谈话中产生的呆伯特效应。

If and when customers are involved, work hard to be at the table. Normally, businesses are terrified of the Dilbert effect that technologists bring to the conversation.

一开始要谨慎,努力建立信任;你需要证明自己在公众面前是个好公民,然后才能开始发挥影响力。听取各种客户对所提出概念的反应,可能会对其形状、规模和复杂性产生巨大影响。我亲眼见过的概念比客户的实际需求要复杂得多。

Early on, be cautious and work toward establishing trust; you need to demonstrate that you can be a good citizen in public before your influence can begin. Hearing a variety of customers react to the proposed concept can have a dramatic impact on its shape, size, and complexity. I have personally seen concepts that were radically more complex than the real needs of customers required.

通过与多个客户接触(当然,在保密协议下,并为他们的时间和努力付费),不断完善概念可以开始带来前所未有的清晰度和理解力。概念开始形成一个简单(非必要元素被删除)且优雅的结构,最终可能只需要一小部分成本即可实现。

The continual refinement of a concept with exposure to multiple customers (under NDA, of course, and paid for their time and efforts) can begin bringing clarity and understanding that simply never existed before. There begins to form a simple (nonessential elements removed) and elegant structure to the concept, one that may in the end require only a fraction of the cost to implement.

我曾经见过这样的案例,由于早期客户的参与,最终解决方案的成本仅为最初实施估算的 10%,并且该解决方案的性质更具战略性(它最多关注少数几个重要事项并实现这些事项)并适用于许多不同的商业机会。

I have seen a case where the final solution was only 10% of the cost of the initial estimates for implementation due to early customer involvement, and where the solution was far more strategic in nature (it focused on at most a handful of essential things and delivered on them) and had applicability to many different business opportunities.

成功的关键在于倾听:

The key to success is to listen:

图像让顾客说话。

Get the customers to talk.

图像问问题。

Ask questions.

图像如果顾客愿意的话,请记录您的对话。

Record your conversations if the customers are willing to let you.

图像让他们沿着自己的兔子路径前进(那里通常有金子)。

Let them follow their own rabbit trails (that is usually where the gold is).

请记住,这是关于客户的事情,而不是你的事情:

Remember, this is about the customer, not you:

图像让他们说吧。

Let them talk.

图像别打断。

Don’t interrupt.

图像要有礼貌。

Be gracious.

图像愿意改变。

Be willing to change.

图像邀请各种客户角色参与对话;他们通常对自己的世界有着广泛的观点和见解,如果您给他们机会,他们很乐意分享。

Invite a variety of customer roles to be involved in the conversation; they usually have a wide range of views and insights into their world that they are happy to share if you give them the chance.

图像倾听您以前可能不了解的法律问题、人为问题、维护要素和监管问题。

Listen for legal concerns, human concerns, maintenance elements, and regulatory concerns that you may not have had knowledge of before.

客户表达的想法、意见和顾虑很可能是您提供解决方案的关键,而这些解决方案将使您在未来在竞争对手中脱颖而出。

The ideas, comments, and concerns that the customers express may very well be the keys to your delivering a solution that in the future will allow you to stand tall among your competitors.

当你与多个客户交谈时,你会开始看到以前从未察觉到的新线索。让一个小而有限的团队专注于概念开发可以帮助建立信任,并实现与团队的真正对话。通常,允许一名新成员一起旅行;这个人对概念的新颖性将有助于从局外人的角度验证它,并确保您不会太接近概念而无法再看到全局。

As you speak to multiple customers, you will begin seeing new threads appear that you never perceived before. Having a small but limited team focus on the concept development can help establish trust and enable real conversations with the team to occur. Usually, allow one new member to travel along; that person’s newness to the concept will help validate it from an outsider’s perspective and ensure that you don’t get so close to the concept that you can’t see the big picture anymore.

多次解释你的想法可以帮助巩固你的想法,并澄清概念中那些模糊的元素。你可能会听到这样的评论

Having to explain what you are thinking multiple times can help cement the ideas in your mind and bring clarity to languishing elements of the concept. You may hear comments such as

图像“如果……我的生活会好得多。”

“It would make my life so much better if . . .”

图像“说真的,我想要的是能够……”

“Really, what I would like is something that could . . .”

如果是的话,那就抓住它们吧;它们是你愿景的元素,会让你的概念变得更加伟大。

If so, capture them; they are the elements of your vision that will make your concept great.

当有机会拜访客户时,请放下一切,即使邀请是在最不合适的时间。

When the opportunity arises to visit with customers, drop everything, even if the invitation to go somewhere occurs at the most inopportune time.

重要的决定通常需要你立即采取行动,因为信息相对较少,干扰又异常严重。学会倾听内心的声音,听从自己的直觉。相信自己的直觉,如果可能的话,咨询值得信赖的合作伙伴,通常都是不错的策略。

The important decisions usually require you to act immediately, with relatively little information and an unusually high level of distractions all coming to a head at the same time. Learn to listen to the small voice inside and follow your gut. Trusting your instincts and, if possible, consulting with trusted partners are usually good strategies.

概念具体化

Concept Reification

概念具体化是将产品变为现实、关注本质、评估可能性以及建立系统基本特征的过程。

Concept reification is the process of making the product real, focusing on what is essential, assessing what is possible, and establishing essential characteristics of the system.

最小可行产品

Minimum Viable Product

“我的目​​标是省略一切多余的东西,以便最大程度地展现本质。”

“My aim is to omit everything superfluous so that the essential is shown to the best possible advantage.”

—迪特·拉姆斯

—Dieter Rams

从架构角度来看,应该以最小可行产品 (MVP)(人们每天会使用的 20% 的功能)为目标。最终可能需要完整的功能列表才能占领市场。但是,当您试图快速推出产品并率先进入市场时,请专注于 MVP。

From an architecture perspective, driving toward a minimum viable product (MVP)—the 20% of the functionality that people will use every day—should be the goal. The full list of features may eventually be required to dominate the market. But when you are trying to get a product out the door quickly and be the first to market, focus on MVP.

在与客户合作或新产品开发时,MVP 可能是一个挑战。他们通常想要一切。通过与他们密切合作,您通常可以优先考虑并提炼出需要首先交付的基本产品功能。完成这一提炼将使您有机会将开发资源集中在最重要的事情上。它还使您能够更早地开始交付可用的软件并开始产生收入流。实时产品的存活率比只在最后交付的长期开发活动要高得多(在高管看来,它们开始看起来像是无底洞)。

The MVP can be a challenge when working with customers or new product development. They typically want it all. By working with them closely, you can usually prioritize and distill the essential product features that need to be delivered first. Accomplishing this distillation will give you the opportunity to focus development resources on what is most important. It will also enable you to begin shipping usable software earlier and to start to generate a revenue stream. Live products have a much better survival rate than prolonged development activities that ship only at the end (they begin to look like money pits to executives).

表明您走在正确道路上的一个指标是,系统可以在一页纸上描述;它应该是概念完整的,并且不能删除任何其他内容。绘制图表时,如果任何框中有超过五行的内容,则应该评估该概念并验证其结构是否正确。

One indicator that you are on the right track is that the system can be described on one page; it should be conceptually complete, and nothing more can be removed. When diagrammed, if there are any boxes with more than five lines coming out of them, you should evaluate the concept and verify that it is structured properly.

实验的必要性

The Need for Experimentation

实验领域对企业和技术来说往往是一个挑战,因为它往往是一个没有资金支持的必修研究领域。通常有资金用于进行估算,通常有资金用于在项目获得资助后进行峰值测试,但并不总是有资金来资助简单的概念验证以确定项目的可行性或最低成本方法、最简单的操作方法或最佳技术方法。缺乏对这些实验的资金可能会导致在存在许多未知数的领域产生高估值。这无意中导致企业放弃原本可能是绝佳战略机会的机会,但缺乏创意资金导致企业将目光转向其他地方。

The area of experimentation is often a challenge for the business and technology in that it is often a nonfunded area of required research. There is often funding for doing the estimates, there is often funding for doing spikes once a project has been funded, but there is not always money to fund simple proofs of concept to determine the feasibility of projects or the lowest-cost approach, the simplest operational approach, or the best technical approach. A lack of funding for these experiments can cause high estimates to be produced in the space where there are many unknowns. This unintentionally causes the business to turn away from opportunities that may well have been great strategic opportunities, but the lack of ideation money causes the business to look elsewhere.

我发现,光有想法是不够的。想法比比皆是,甚至有很好宣传的想法。提出想法的最好方法是提供简单的概念证明。能够展示想法的代码示例(即使是非常粗糙、基本的形式)往往具有最大的影响力,也最有可能引起足够的兴趣,让那些掌握财政大权的人打开支票簿,进行正式的估算和授权项目(见图3.5)。

I have found that coming to the business with ideas is not sufficient. Ideas abound, even ideas with a great pitch. The best way to bring ideas forward is to produce simple proofs of concept. Working examples of code that demonstrate an idea—even in very crude, rudimentary forms—tend to have the highest impact and also have the highest likelihood of generating enough interest to get those who hold the financial purse strings to open the checkbooks and pursue formally estimating and authorizing projects (see Figure 3.5).

图像

图 3.5寻找实验和执行概念验证的方法——这是为企业构建新解决方案的有效方法。

Figure 3.5 Find ways to experiment and perform proofs of concept—it’s an effective way to build new solutions for the business.


笔记

Note

作为一名建筑师,你生活在销售的世界中,没有什么比一些可行的代码更能促成交易了。

As an architect, you live in the world of sales, and there is nothing like some working code to close the deal.


你需要掌握一切资源来让企业上钩。我喜欢这样想:“一个概念验证胜过一千个估算。”它将以其他任何东西都无法做到的方式吸引企业。正如那句老话所说,“眼见为实。”没有它,你可能很快就会陷入无限的估算循环。(我的个人记录很不幸,一个项目在推进之前要估算 16 次。最后,这个项目非常成功,但我希望永远不要再重复这种情况:死亡行军估算。

You will need every asset at your disposal to get the business hooked. I like to think of it as “A single proof of concept is worth a thousand estimates.” It will engage the business in ways that almost nothing else will. As the old saying goes, “Seeing is believing.” Without it, you may soon be doomed to an infinite loop of estimating. (My unfortunate personal record is 16 estimates for a project before it moved forward. In the end, the project was very successful, but I hope to never repeat this again: death march estimating.)

建立假设有助于协调愿景

Establishing Assumptions Can Help Harmonize the Vision

与新产品开发部门合作开始可视化系统可以大大清晰每个人的思维。它将很快揭示新产品开发部门做出的主要假设,市场营销、销售和技术。这些假设的出现对于开始协调每个人对产品概念的想法至关重要。

Working with new product development to begin visualizing the system can bring a tremendous amount of clarity to everyone’s thinking. It will quickly reveal major assumptions being made by new product development, marketing, sales, and technology. This emergence of assumptions is essential to begin harmonizing everyone’s thinking about the product concept.

建立基本能力和客户角色

Establishing Essential Capabilities and Customer Roles

这种可视化还可以帮助新系统中客户角色的出现。您将很快能够看到哪些功能是可能的,哪些功能是不可行的。围绕这一点的对话将开始概念具体化的过程。这样就开启了一个良性循环,其中还包括重新吸引最终客户来验证出现的新想法。如果他们立即明白了,你就走在了正确的道路上。如果他们不明白,你就需要评估产品概念出了什么问题:

This visualization can also help with the emergence of customer roles within the new system. You will quickly be able to see what capabilities are possible and which are not. The conversations around this will begin the process of concept reification. Thus begins a virtuous cycle that can also include reengaging the end customers to validate the new thinking that has emerged. If they get it immediately, you are on the right track. If they don’t, you need to evaluate what was wrong with the product concept:

图像是不是宣传方式不对?不同的客户有不同的关注点和需求。了解客户的具体情况并根据具体情况制定信息,可以极大地影响客户对所呈现内容的接受程度。

Was it pitched wrong? Different customers have different areas of concern and needs. Knowing a customer’s particular situation and crafting the message to that situation can have a dramatic impact on the customer’s acceptance of what is presented.

图像用户角色是否合理?每个客户管理问题的方式可能略有不同。您是否已捕获可轻松映射到客户管理业务方式的用户角色?

Do the user roles make sense? Each customer may have a slightly different way of managing the problem. Have you captured user roles that easily map onto the way customers manage their businesses?

图像任务流程是否与客户的工作方式相匹配?根据具体需求,每个客户的任务分配可能有所不同。您解决问题的方式是否具有足够的灵活性来满足不同的需求?

Does the flow of tasks match how the customers work? Each customer may have tasks allocated differently based on specific needs. Is there enough flexibility with how you are approaching the problem to accommodate different needs?

图像是否缺少功能?当您与客户互动并解释系统的不同方面时,他们是否可以识别出缺少或不符合其需求的领域?如果是这样,请更详细地深入研究这些领域,以更好地了解他们的需求以及需要采取哪些不同的措施来满足他们的需求。

Are there missing capabilities? As you interact with customers and explain the different aspects of the system, are there areas that they can identify that are missing or don’t really match their needs? If so, dive into these areas in more detail to better understand what their needs are and what would need to be done differently to accommodate them.

图像这些功能是否混杂在一起,需要重组?这里的关键是要确定这些功能的粒度是否处于完成工作所需的水平,还是处于将工作分配给个人的水平。如果它们由于做得太多或太少而不能很好地协调,这可能会成为客户采用该系统的障碍。

Are the capabilities commingled and in need of restructuring? The key here is to find out if the granularity of the capabilities is at the level that they need to do their work or at the level at which they allocate work out to individuals. If they don’t align well because they do too much or too little, it could be a barrier for the customer to adopt the system.

图像不重要的项目是否仍然存在?您是否追求客户根本不需要的功能?如果是这样,请尝试进一步挖掘,找出情况的不同之处或客户的工作方式,使得这些功能变得不必要。

Are nonessential items still present? Are you pursuing any capabilities that the customer simply does not need? If so, try to dig a little further to find out what is different about the situation or how the customer works that makes these capabilities unnecessary.

根据这些结果,考虑要求客户解释您的概念如何解决或没有解决他们的痛点;您可能会让他们的生活变得更糟。如果您听到“我永远不会这样做”,这是一个警告信号,表明您可能走错了路,但至少客户已经发现了您的产品概念中存在潜在问题。

Based on these outcomes, consider asking customers to explain how your concept does or does not solve their pain points; you might be making the world worse for them. If you hear, “I would never do that,” that is a warning signal that you may be on the wrong track, but at least the customer has identified a potential problem in your product concept.

让你的客户打破你的先入为主的观念。通常你会寻求确认和对你的想法的认可;要对改变持开放态度。

Let your customers break your preconceived notions. Normally you are looking for validation and a stamp of approval on your thoughts; be open to change.

当你听到新的需求和想法时,人们往往会对想法或概念进行粉饰。这一点要小心谨慎。避免仅仅寻找需求来构建你一直渴望构建的酷炫系统或使用你刚听说的新技术。专注于改进概念,而不是修饰它。

As you hear new requirements and ideas, there is a tendency to gold plate the ideas or concepts. Be cautious here. Avoid just looking for requirements to build the cool system you have been desperately hoping to build or use that new technology you just heard about. Focus on improving the concept, not embellishing it.

与客户具体化

Reify with Customers

与主要客户保持定期联系有助于验证、提供反馈并对围绕其需求而出现的概念提供新的见解。

Keeping a regular rhythm of contact with key customers can help validate, provide feedback about, and enable new insights into the concepts that are emerging around their needs.

我的创意经验是,我们拜访过的大多数客户都非常乐意详细讨论他们所做的工作和他们的需求。如果他们是他们所从事工作领域的领导者,他们已经花时间思考如何做得更好。他们高度投入,知道自己正在帮助塑造未来。随着与客户的对话和对这些对话的后续分析的继续,概念的模糊性逐渐清晰。有了这种清晰度,真正的产品愿景和路线图就开始浮现。

My ideation experience has been that most customers that we have gone out to visit and met face-to-face are more than happy to talk through in detail the work they do and the needs they have. If they are leaders in the area of work they do, they have already spent time thinking about how they can do things better. They are highly engaged, knowing that they are helping to craft the future. As the conversations with the customers and the post-analysis of those conversations continue, the cloudiness of the concepts gives way to clarity. With this clarity, the real product vision and roadmap begin to emerge.

通过具体化的产品导航有助于识别和确定高客户价值的领域。

This product navigation through reification helps identify and establish areas of high customer value.

概念演变

Concept Evolution

新产品开发过程中有一个不变的因素:变化。这种持续的变化要求产品概念不断改进和发展。

The process of developing new products has one constant: change. This continuous change creates the need for continual refinement and evolution of product concepts.

作为一名历史系的学生

Being a Student of History

在大多数企业中,许多概念都已经反复被提出过。人们已经对问题进行了批判性思考,但由于成本、时间、复杂性或各种各样的原因,概念没有得到实施。

At most businesses, many concepts have been around the block more than once. Critical thinking has been done about the problem and for some reason the concept didn’t proceed, because of cost, timing, complexity, or any of a wide variety of reasons.

当你发现自己陷入看似重复的表演时,花点时间了解之前的概念。如果你幸运的话,可能会有一些文件或之前情况的幸存者可以讲述他们关于发生的事情的战争故事。当你更详细地了解这一点时:

When you see yourself being drawn into what looks to be a repeat performance, take the time to understand what the previous concepts were. If you are lucky, there may be some documentation or survivors of the previous situation who can relay their war stories about what happened. As you dive into this in more detail:

图像仔细聆听推动上一次尝试的假设、风险和要求。这些可以帮助您深入了解当前提案可能存在哪些不同之处。

Listen carefully for the assumptions, risks, and requirements that drove the previous attempt. These can help give you insights into what may be different about the current proposal.

图像验证您所听到的内容与您迄今为止发现的内容。记下您发现的内容;当您最终进入估算阶段时,这会对您所说的内容(和销售内容)有更深入的理解。

Validate what you are hearing against what you have discovered to date. Note what you are finding; it can help when you eventually move into an estimating phase to have a deeper rationale behind what you are saying (and selling).

图像确定是否有任何变化,如果有,那么变化是什么。查看产品概念的变化、市场的变化、客户细分的变化以及技术的变化。有许多因素会影响产品的可行性。

Determine if anything has changed and, if so, what. Look at changes in the product concept, changes in the market, changes in the customer segmentation, and changes in technology. There are many factors that can influence the feasibility of a product.

图像技术进步了吗?正在考虑的技术方法与之前设想的是否不同?这可能是降低项目成本结构的机会。

Has technology advanced? Is the technical approach that is under consideration different from what was previously conceived? This may be an opportunity to reduce the cost structure of the project.

图像您的客户群是否发生了变化或采用了新技术?有时,客户采用新技术可以考虑不同的解决方案和产品概念。

Has your customer base changed or adopted new technologies? Sometimes customer adoption of new technologies can enable different solutions and product concepts to be considered.

图像您的客户以前尝试过这种解决方案吗?如果尝试过,结果如何?为什么?客户可以成为宝贵的知识来源。他们过去曾见过并尝试过各种解决方案,可能知道其中的陷阱以及他们和其他人成功的地方。

Have your customers tried this solution before? If they have, how did it turn out? Why? Customers can be a great source of knowledge. They have seen and tried out a variety of solutions in the past and likely know where the pitfalls are as well as where they and others have had success.

图像小心那些唱反调的人。他们在这方面失败了,如果你也失败了,他们可能会更高兴。一定要过滤你听到的内容。通常有些情况在以前的情况下可能根本不存在。

Beware of the naysayers. They failed at this, and they might be happier if you fail, too. Always filter what you hear. There are usually circumstances that were involved in previous situations that simply may not be in play now.

图像学习,但不要被消极思想所感染。如果你相信自己做不到某事,那你通常是对的。你需要根据自己的分析,对可能发生的事情持开放态度。

Learn, but don’t become infected with negative thinking. If you believe that you can’t do something, you are usually right. You need to be open to what is possible based on your own analysis.

了解公司的长期和近期历史可以成为决策的重要依据。这对于失败或成功的项目以及仅经过估算的项目尤其如此。

Being knowledgeable about your company’s long-term and near-term history can be a great source of enabling decision making. This is especially true for projects that have failed or succeeded and also for projects that have only seen the light of estimation.

拥抱多种观点

Embracing Multiple Perspectives

当你收集越来越多的反馈并致力于发展一个概念时,请考虑系统如何工作的不同方法,考虑如果某些假设不同,复杂性可能会降低的方法,并考虑概念的哪些领域可能有可扩展性需求:

As you gather more and more feedback and work toward evolving a concept, consider different approaches for how the system might work, consider ways for how complexity might be reduced if certain assumptions were different, and consider what areas of the concept might have extensibility needs:

图像您能否捕捉到客户工作流程中发生的事件的关键方面?您是否能够找到基于这些事件来自动化工作的方法?它们可以被系统捕捉到吗?这些工作流程事件有多常见?它们是否发生在多个客户身上?您能否将这些事件建模为状态转换图?

Are you able to capture key aspects of events that occur within a customer’s workflow? Are you able to see ways to automate the work that is being done based on these events? Can they be captured by a system? How common are these workflow events? Do they occur across multiple customers? Can you model these events into state transition diagrams?

图像您是否能够识别常见或关键的客户任务及其相关流程?您与客户互动越多,您就越能发现他们处理工作的方式、他们通常遇到的问题以及他们的独特之处。

Are you able to recognize common or key customer tasks and their associated flow? The more customers you interact with, the more commonality you will be able to see in how they approach their work, what their typical problems are, and where they are unique.

图像任务之间是否存在关键依赖关系?在开发产品概念时,与其他项目、客户基础设施和行业发展之间存在的依赖关系会变得清晰起来。捕获并记录这些依赖关系;当您尝试将产品概念推进到估算和批准阶段时,它们将变得至关重要。

Are there critical dependencies between tasks? As you develop product concepts, there are dependencies that become clear with respect to other projects, customer infrastructure, and industry developments. Capture and document these dependencies; they will become essential as you try to move the product concept forward into the estimation and approval stages.

图像哪些风险似乎正在出现?您越能深入了解产品概念,就越能开始察觉到风险,而这些风险对于其他人来说至关重要,因为您正进入估算阶段。捕捉并记录这些风险。

What risks appear to be emerging? The more you are able to dive into a product concept, the more you are able to begin perceiving risks that are critical for others to be aware of as you move forward into an estimating phase. Capture and document these.

图像是否有人表达了担忧?尝试深入挖掘,找出担忧的根本原因。可能没有问题,也可能对所提出的产品概念存在重大误解。

Are there areas of concern that have been expressed? Try to dive below the surface to find out what the root causes of the concerns are. There may be no problems, or there may be a significant misunderstanding about the product concept being proposed.

图像是否有新的能力出现?如果有,请给它们命名。命名事物具有赋予它们生命力的惊人能力。你谈论它们、关联它们和改进它们的能力将大大提高。

Are new capabilities emerging? If so, name them. Naming things has an amazing ability to bring them to life. Your ability to talk about them, relate them, and refine them increases dramatically.

图像您收集的信息是否存在模式?如果有,请命名它们。命名模式可以实现大量重用,并且可以在业务中发挥重要作用。它们还可以帮助开发特定领域的语言。

Are there patterns to the information you are gathering? If so, name them. Named patterns enable a significant amount of reuse and can act as a great point of leverage within the business. They can also assist with the development of domain-specific languages.

您对多个客户的观察结果进行综合的能力,会对您制定出具有广泛客户适用性的战略解决方案(而非简单的点解决方案)的能力产生巨大影响。

Your ability to synthesize these observations across multiple customers can have a dramatic impact on your ability to produce a strategic solution that has broad customer applicability versus simply a point solution.

要深入了解该领域的具体技术和工具,请参阅本章末尾的参考资料。

For a deeper dive into the area of specific techniques and tools around this area, see the references at the end of this chapter.

追求概念完整性

Seeking Conceptual Integrity

在发展这一概念时,请考虑:

As you evolve the concept, consider:

图像这个概念如何与您的其他产品保持一致?在大多数企业中,都有一套相互一致的产品。您的概念如何融入这套产品中?它们在哪些方面重叠?有哪些功能可以利用?这些功能是否以可以利用的方式构建?是否有应该考虑的集成领域?如果这些功能将在不久的将来交付,您是否可以依赖其他产品领域来交付?如果它们未能实现,如果它们无法交付或交付方式不符合您的需求,可能会严重影响您的预算。

How does this concept align with your other products? In most businesses, there is a suite of products that align with one another. How does your concept fit into this suite? Where does it overlap? Are there capabilities that you can leverage? Are these capabilities built in a way that can be leveraged? Are there areas of integration that should be considered? If the capabilities will be delivered in the near future, can you rely on the other product areas to deliver? If they miss, they may significantly impact your budget if they don’t deliver or deliver in a way that doesn’t meet your needs.

图像这一概念如何与您所针对的客户群保持一致?您需要了解这一概念如何应用于不同的细分市场,以及哪些功能集是重叠的,哪些功能集是独一无二的。这将帮助您了解随着开发重点的变化,从业务角度来看,交付哪些内容是绝对关键的。

How does this concept align with the customer base you are targeting? You need to understand how the concept applies to the various market segments and what sets of capabilities overlap and which ones are unique. It will help you understand what is absolutely critical to deliver from a business perspective as development priorities change.

图像你能在两分钟内描述出这个概念吗?一定要准备好发表电梯演讲。你需要把核心信息冷静地传达出来。你需要做好准备,这样如果你遇到一位高级主管,你就可以准确地告诉你你正在研究的概念是什么,它将如何帮助客户,以及它将如何为公司赚钱。

Can you describe the concept in under two minutes? Always be prepared to deliver an elevator speech. You need to have the core message down cold. You need to be prepared so that if you run into a senior executive you can nail the message of what the concept you are working on is, how it will help the customer, and how it will make the company money.

图像概念是否清晰简洁?人们是否能快速理解你所说的内容?如果客户不能快速理解你提出的内容,则你的概念很可能是错误的,或者你表达的方式是错误的。客户永远是对的。你需要认真研究缺少什么或需要调整什么。

Is the concept clear and concise? Do people get what you are saying quickly? If customers don’t quickly grasp what you are proposing, your concept is most likely wrong or you are presenting it wrong. The customer is always right. You need to seriously look into what is missing or needs adjusting.

图像是否已建立必要的域关系?如果您能够识别域模型中的关键关系,则某些功能可能需要基于关系及其相互之间的基数以自然的方式发挥作用。如果您错过了这些,您的系统内可能会出现自然的阻力,让您的最终用户感觉不自然。

Have the essential domain relationships been established? If you can identify key relationships within a domain model, it is likely that there is a natural way that certain capabilities need to function based on the relationships and their cardinality with one another. If you miss these, there will likely be natural impedances within your system that will make it feel unnatural to your end users.

图像其余所有事情都围绕哪两三件事展开?解决好这些领域。通常,对于大多数产品来说,有几个关键领域是绝对必备的功能。找出这些是什么以及是什么让它们如此重要。这些将成为其他一切的基础。

What are the two or three things that everything else revolves around? Get these areas right. Normally for most products there are a couple of key areas that are absolute must-have capabilities. Find out what these are and what makes them so essential. These are going to be the foundation upon which everything else is built.

图像其他行业是否有类似的概念或模式?通常,其他行业都有类似的功能,您可以直接利用这些功能,或者从设计角度利用这些功能,或者从方法角度利用这些功能。在寻找解决方案时,请留意新的创新方法。

Are there similar concepts or patterns in other industries? Often there are similar capabilities in other industries that you may be able to leverage directly, leverage from a design perspective, or possibly leverage from an approach perspective. Be on the lookout for new and innovative approaches as you look for solutions.

图像概念能否在一页纸上描述?如果您的概念无法浓缩为一页纸作为执行概述,则需要花时间研究概念的清晰度。此时,概念需要清晰、简洁,并让熟悉该领域的人快速理解。

Can the concept be described on one page? If your concept cannot be distilled down to a single page as an executive overview, you need to take the time to work on the clarity of the concept. At this point, the concept needs to be clear, concise, and quickly understood by someone who is familiar with the area.

目标是将产品概念的概念完整性与客户的需求以及公司的需求同步。可应用的协同作用越多,您在组织内获得的支持就越多。

The goal is to sync the conceptual integrity of your product concept with the needs of the customer as well as with the needs of the company. The more synergies that can be applied, the more support you are likely to receive within your organization.

识别邻近机会

Recognizing Adjacent Opportunities

在经历多个产品概念化周期时,您经常会听到和看到用例和不同的客户角色彼此之间并不完全一致。他们所做的事情和他们试图实现的目标显然有所不同。客户可能没有意识到这些细微的差异,但花时间提炼这些细微差别可能会产生多种产品,这些产品具有许多相同的功能,但根据不同的需求面向不同的细分市场销售。

As you go through multiple cycles of product conceptualization, you often begin to hear and see use cases and different customer roles that don’t cleanly align with one another. There is clearly something different about what they are doing and the goals they are trying to achieve. The customers may not have recognized these slight variances, but taking the time to distill these subtleties can potentially result in multiple products that share many of the same features but are marketed to different segments based on their differing needs.

有时,当你退后一步,从更通用的功能角度看待产品概念时,你就能开始思考这些功能可以应用的其他领域。有时,邻近市场比你当前追求的领域具有更大的潜在价值。对于我们正在开发的一个概念,邻近市场的机会比原始产品概念大十倍。

Occasionally when you step back and look at the product concept from a more generic capabilities perspective, you are able to begin thinking about other areas where these capabilities could be applied. Sometimes there are adjacent markets that have more potential value than the current area that you are pursuing. For one concept that we were working on developing, the adjacent market opportunity turned out to be ten times larger than the original product concept.

这个新市场可能有完全不同的性能和规模需求,但市场洞察将为您提供有关产品架构需求以及企业未来可能追求的方向的关键信息。关键是要乐于接受变化并愿意拓展视野。

This new market may have completely different performance and scale needs, but the market insights will give you critical information about the architectural needs of the product and likely future directions the business will want to pursue. The key is to be open to change and to be willing to expand your horizons.

概括

Summary

概念化之路始于

The road to conceptualization begins with

图像与商业伙伴合作构思

Ideation with business partnerships

图像尽早参与这一过程

Getting involved as early as possible in the process

图像概念表述

Concept formulation

图像理解客户的语言

Understanding the language of the customer

图像开发领域模型

Developing domain models

图像了解客户背景

Understanding the context of the customer

图像当你是新手时要谨慎承诺

Committing cautiously when you are the new kid on the block

图像概念可视化

Visualizing the concept

图像概念具体化

Concept reification

图像开发最小可行产品

Developing a minimum viable product

图像试验原型

Experimenting with prototypes

图像建立假设

Establishing assumptions

图像建立基本能力和客户角色

Establishing essential capabilities and customer roles

图像与顾客具体化

Reifying with customers

图像概念演变

Concept evolution

图像作为一名历史系的学生

Being a student of history

图像拥抱多种观点

Embracing multiple perspectives

图像认识邻近的机会

Recognizing adjacent opportunities

对于像我这样喜欢在白板上写字并与业务伙伴一起学习新问题领域和新挑战的技术倾向者来说,寻求概念完整性使每一天都令人兴奋。

For technically inclined individuals like me who love to whiteboard and work with business partners to learn new problem domains and new challenges, seeking conceptual integrity makes every day exciting.

参考

References

Amabile, Teresa M.、John Seely Brown、Martha Craumer、Peter F. Drucker、Constance N. Hadley、Steven J. Kramer、Theodore Levitt、Andrall E. Pearson、Ellen Peebles 和 John D. Wolpert。2003 年。《哈佛商业评论:创新型企业》。哈佛商学院出版社。

Amabile, Teresa M., John Seely Brown, Martha Craumer, Peter F. Drucker, Constance N. Hadley, Steven J. Kramer, Theodore Levitt, Andrall E. Pearson, Ellen Peebles, and John D. Wolpert. 2003. Harvard Business Review on the Innovative Enterprise. Harvard Business School Press.

Brooks, Frederick P., Jr. 1995. 《人月神话:软件工程论文集》,周年纪念版(第二版)。Addison -Wesley。

Brooks, Frederick P., Jr. 1995. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (Second Edition). Addison-Wesley.

Christensen, Clayton M. 和 Michael E. Raynor。2003 年。《创新者的解决方案:创造和维持成功增长》。哈佛商学院出版社。

Christensen, Clayton M., and Michael E. Raynor. 2003. The Innovator’s Solution: Creating and Sustaining Successful Growth. Harvard Business School Press.

Cooper, Robert G. 2001.赢得新产品:加速从创意到发布的进程。Basic Books。

Cooper, Robert G. 2001. Winning at New Products: Accelerating the Process from Idea to Launch. Basic Books.

Cornish, Edward。2004 年。《未来:探索未来》。世界未来协会。

Cornish, Edward. 2004. Futuring: The Exploration of the Future. World Future Society.

德博诺,爱德华。1999 年。《六顶思考帽》。Back Bay Books。

De Bono, Edward. 1999. Six Thinking Hats. Back Bay Books.

Gray, Dave。2010 年。《游戏风暴:创新者、打破规则者和变革者的剧本》。O'Reilly Media。

Gray, Dave. 2010. Gamestorming: A Playbook for Innovators, Rulebreakers, and Changemakers. O’Reilly Media.

Hagadorn, Andrew。2003 年。《突破如何发生:企业创新的惊人真相》。哈佛商学院出版社。

Hagadorn, Andrew. 2003. How Breakthroughs Happen: The Surprising Truth about How Companies Innovate. Harvard Business School Press.

Hohmann, Luke。2006 年。《创新游戏:通过合作游戏创造突破性产品》。Addison -Wesley。

Hohmann, Luke. 2006. Innovation Games: Creating Breakthrough Products through Collaborative Play. Addison-Wesley.

Ries, Eric。2011 年。《精益创业:当今企业家如何利用持续创新打造极其成功的企业》。Crown Business。

Ries, Eric. 2011. The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Business.

Sibbet, David。2010。《视觉会议:图形、便签和创意地图如何改变团队生产力》。Wiley

Sibbet, David. 2010. Visual Meetings: How Graphics, Sticky Notes and Idea Mapping Can Transform Group Productivity. Wiley.

Von Oech, Roger。2008 年。《头脑一侧的重击:如何让你更有创造力》。Business Plus。

Von Oech, Roger. 2008. A Whack on the Side of the Head: How You Can Be More Creative. Business Plus.

第 4 章 估算

Chapter 4. Estimation

“这个世界上没有绝对的价值。你只能估计一件东西对你来说值多少钱。”

“There is no such thing as absolute value in this world. You can only estimate what a thing is worth to you.”

—查尔斯·达德利·沃纳

—Charles Dudley Warner

“对我来说,每一天都是新的。我带着新的不安全感对待每一个项目,几乎就像我做过的第一个项目一样。我感到很紧张。我进去开始工作,但我不知道自己要去哪里。如果我知道我要去哪里,我就不会去做。”

“For me, every day is a new thing. I approach each project with a new insecurity, almost like the first project I ever did. And I get the sweats. I go in and start working, I’m not sure where I’m going. If I knew where I was going I wouldn’t do it.”

—弗兰克·盖里

—Frank Gehry

“这是一种简单的方法。可持续建筑通过回顾过去来展望未来。”

“It’s a simple approach. Sustainable architecture looks to the future by looking at the past.”

—斯蒂芬·吉斯特

—Stephen Gist

有没有遇到过这样的情况,有人过来问你:“我有一个项目的想法;它看起来有点像这样,并且具有这些高级功能。它要花多少钱?”当你思考这可能涉及什么时,你的脑子开始嗡嗡作响。你开始问问题以求澄清。你开始考虑这个项目将在何时何地以及如何使用。你试图想出一个合理的数字,并试图想想你遇到过的其他可能类似的项目。你开始想:“哇,这是一个很酷的项目。”或者,“我是否必须遵守这个数字?”

Have you ever had anyone stop by and ask, “I have an idea for a project; it looks a bit like this and has these high-level features. What will it cost?” Your mind begins to whir as you think about what this might entail. You begin asking questions for clarification. You begin considering where, when, and how this project will get used. You try to think of other projects that you have encountered that may be similar as you try to come up with a reasonable number. You begin thinking, “Wow, this is a cool project.” Alternatively, “Am I going to be held to this number?”

欢迎来到估算的世界。

Welcome to the world of estimation.

早在项目编写出第一行代码之前,业务部门和高级技术人员就已经密切合作,以确保获得资助项目所需的适当资金,并保持收入增长或成本节约的畅通。

Long before a single line of code on a project is ever written, the business and senior technology will have been working closely together to secure the appropriate finances necessary to fund projects and keep the pipeline of revenue growth or cost savings alive and well.

架构师是商业世界和技术之间的主要纽带之一。你能够倾听业务需求,将其转化为一个高层次的概念,使其与业务的战略需求保持一致,并为技术构建概念,这一过程起着至关重要的作用。

The architect is one of the chief links between the business world and technology. Your ability to hear what the business wants, translate it into a high-level concept, align it with the strategic needs of the business, and frame the concept for technology is a vital role.

本章揭示了软件架构师所需的一项基本技能:提供粗略估算的能力以及提供背景信息以便生成业务案例估算的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability both to provide rough estimates and to provide the context to enable business case estimates to be produced.

估算概览

Estimates Overview

估算通常用于帮助企业获得项目资金。估算使企业能够了解

Estimates are usually used by the business to help it obtain funding for a project. They enable the business to get a sense of

图像项目成本是多少

What the cost of a project will be

图像项目何时可以交付

When the project can be delivered

图像项目涉及哪些风险

What risks are associated with the project

图像项目可能存在哪些依赖关系

What dependencies will potentially exist for the project

图像项目有哪些领域尚不清楚

What areas of the project are unknown

图像有哪些替代方法

What alternative approaches are possible

图像对该项目做出了哪些假设

What assumptions are being made about the project

估算有各种规模和形式,具体取决于业务需求。估算将影响相关成本、假设、风险、依赖关系和考虑的替代方案(见图4.1)。

Estimates come in all sizes and shapes, depending on what the needs of the business are. They will drive the associated costs, assumptions, risks, dependencies, and alternatives considered (see Figure 4.1).

图像

图 4.1估算根据其揭示的价值主张来推动项目。

Figure 4.1 Estimates drive projects based on the value propositions they reveal.

估算的目的是什么?

What Is the Purpose of the Estimate?

当有人向您寻求估价时,首先要做的事情之一就是确定该人寻求什么类型的估价:

When someone seeks an estimate from you, one of the very first things to do is to determine what kind of estimate the person is looking for:

图像这是否只是一次快速的估算工作,以便人们可以立即获得信息(驱动估计)?

Is this just a quick sizing effort so that the person can get the information immediately (a drive-by estimate)?

这种估算最好以口头形式传达,而不是以电子格式传达。企业通常使用它来衡量需要哪种投资,了解开发工作性质的一些细节,并确定是否值得深入研究。这种估算也可用于帮助企业向产品顾问推销创意。

This type of estimate is best communicated verbally and not in an electronic format. It is usually used by the business to gauge what kind of investment is needed, to get some details about the nature of the development effort, and to determine if it is worthwhile diving into more detail. This kind of estimate may also be used to help the business pitch an idea to a product counsel.

我通常会让我的经理和相关项目经理了解潜在项目和我给出的高级数字。

I usually let my manager and the associated program manager know about the potential project and the high-level number that I gave.

由于缺乏通常交换的细节,这一估计可能会出现数量级的偏差,无论是增加还是减少以及花费的时间(通常少于一小时,包括与请求者的对话)。

This estimate has the potential to be off by an order of magnitude, up or down, given the lack of details that are typically exchanged and the amount of time spent on it (typically less than an hour, including the conversation with the requester).

图像这是请求者希望您花一两天时间提供更多细节的粗略估计吗(粗略的数量级估计)?

Is this a rough estimate on which the requester would like you to spend a day or two and to provide a little more detail (a rough order of magnitude estimate)?

这种估算通常较为正式。企业通常使用它来判断是否要继续推进业务案例。

This type of estimate normally takes on a little more formality. It is usually used by the business to gauge whether or not to move forward with a business case.

我通常会与项目经理一起与请求者会面并制定估算。如有必要,如果我们对某个特定领域不确定,我们可能会邀请一些技术专家。

I usually work with the program manager to meet with the requester and develop an estimate. If necessary, we may include a handful of technology specialists if we are unsure about a particular area.

这种估算通常会正式传达给企业,并与收集的所有材料和估算中包含的任何高级假设一起输入估算库中。同样,我通常会提前告知我的经理有关潜在项目和交付数量的信息。

This type of estimate is usually formally communicated to the business and entered into an estimating repository along with any materials that were gathered and any high-level assumptions that went into the estimate. Again, I usually give my manager a heads-up about the potential project and the number that was delivered.

这个估算可能会有两到三倍的误差。通常,对于这种类型的估算以及包括在内的每个人,请尽量花费少于 8 小时。

This estimate has the potential to be off by two or three times. Typically, for this type of estimate and for everyone included, try to spend less than eight hours.

图像这是请求者想要的正式估算吗——可以用来支持商业案例(商业案例估算)?

Is this something for which the requester wants a formal estimate—one that could be used to support a business case (a business case estimate)?

这种估算通常非常正式。它通常由企业用来提出与业务案例相关的实际资金请求。它还用于确定项目所需的团队、技能和人员配备。

This type of estimate is normally very formal. It is usually used by the business to make the actual request for money associated with a business case. It is also used to determine the groups, skills, and staffing needed for the project.

我通常与项目经理、请求者和估算团队合作来制定这样的估算。

I usually work with the program manager, the requester, and an estimating team to develop such an estimate.

这种估算通常会正式传达给企业,并与估算过程中创建的所有材料一起输入估算库中。估算人员及其相关主管将在正式传达之前审查估算。

This type of estimate is usually formally communicated to the business and entered into an estimating repository along with all materials created as part of the estimate. The estimate will be reviewed by the estimators and their associated executives before being formally communicated.

这个估算需要准确到 10% 以内,而且可能需要几周的时间才能完成。

This estimate needs to be accurate within 10% and may take several weeks to produce.

每种类型的估算都需要不断提高尽职调查、文档记录和沟通的水平。

With each of these types of estimates comes an increasing level of due diligence, documentation, and communication.

在项目获得批准并开始开发后,可能会要求进行业务案例验证估算,以验证项目是否根据实际设计细节适当地确定规模和范围。

After the project has been approved and development has begun, there may be business case validation estimates that are requested to verify that the project is properly sized and scoped based on actual design details.

是否有已建立的项目背景?

Is There an Established Project Context?

理想情况下,当您被要求帮助创建业务估算时,您已经参与与业务伙伴的合作(参见第 1 章合作伙伴关系”),参与发现阶段(参见第 2 章发现”),并有机会帮助制定产品概念(参见第 3 章概念化”)。

Ideally, by the time you are asked to help create an estimate for the business, you will already have been involved working with your business partners (refer to Chapter 1, “Partnership”), been involved in the discovery phase (refer to Chapter 2, “Discovery”), and had the opportunity to help formulate the product concept (refer to Chapter 3, “Conceptualization”).

如果没有,那么现在是时候深入研究并学习有关所提议产品的一切知识了。

If not, now is the time to deep-dive and learn everything you can about the product being proposed.

如果不充分了解业务需求,几乎不可能制定出适合业务的架构方法和估算。

Without having a solid understanding of what the business is asking for, it is nearly impossible to develop an architectural approach and an estimate that make sense for the business.

什么是建筑方法?

What Is an Architectural Approach?

从架构角度来看,任何此类项目估算类型的目标都是开发一种架构方法。这将有助于设定界限对正在制作的估算并帮助确定项目的潜在成本(见图4.2)。

The goal from an architecture perspective for any of these project-estimating types is to develop an architectural approach. This will help set the boundaries to the estimate that is being produced and help frame what the project will potentially cost (see Figure 4.2).

图像

图 4.2架构方法可以帮助推动并提供一致、可靠的业务估算。

Figure 4.2 An architectural approach can help drive and deliver consistent and reliable estimates for the business.

架构方法的关键要素包括

The key elements of an architectural approach include

图像描述有关该项目的背景信息。

Describing background information about the project.

图像展示该方法如何满足所需的业务需求。

Showing how the approach meets the desired business requirements.

图像提供关键图表,以图形方式讲述正在构建的内容。这些可能需要根据您交付的受众而有所不同(例如,数据中心运营、产品运营、技术开发或产品开发)。

Delivering key diagrams that pictorially tell the story of what is being built. These may need to vary depending on the audience to whom you are delivering (for example, data center operations, product operations, technology development, or product development).

图像识别风险、假设、问题、未决问题和依赖关系。

Identifying risks, assumptions, issues, outstanding questions, dependencies.

图像确定至少一种实施项目的方法。这可能不是最终方法,但它将有助于奠定估算过程的基础。

Identifying at least one way to implement the project. This may not be the final approach, but it will help ground the estimating process.

一旦您了解了项目背景和架构方法并应用了适当的估算策略和原则,您和估算团队就可以合作为企业提供可靠的估算。

Once you have the project context and the architectural approach and have applied the appropriate estimating strategies and principles, you and the estimating team can work to produce solid estimates for the business.

了解估算过程

Understanding the Estimating Process

作为一名架构师,熟悉组织的估算流程至关重要。此流程将约束您和其他参与业务估算的人员所需要进行的几乎所有活动,并将定义成功的含义。

As an architect, becoming familiar with the estimating process of your organization is critical. This process will bound nearly all of the activities that are expected of you and others involved in producing estimates for the business and will define what success means.

估算管道

Estimating Pipeline

无论是明确还是隐含地定义,每个组织都有某种形式的项目融资流程。通常,此管道看起来像图 4.3中所示的 V 形。

Whether defined explicitly or implicitly, every organization has some form of process for funding projects. Often, this pipeline looks like the chevrons shown in Figure 4.3.

图像

图 4.3了解融资流程将有助于我们更好地了解何时参与业务以及何时最好地影响项目的方向。

Figure 4.3 Knowing the funding process will lead to better insights into when to engage the business and when best to influence a project’s direction.

在您熟悉管道流程时,请花时间考虑以下问题:

As you are familiarizing yourself with the pipeline process, take the time to consider these questions:

图像您接下来的工作计划是怎样的?

What is the pipeline of work that is coming your way?

图像所有资源都已满吗?您需要具有特定技能的资源吗?

Are all the resources fully filled? Will you need resources with specific skills?

图像您的估算是否有一个节奏——每季度一次,还是临时一次?

Is there a cadence to your estimating—quarterly, ad hoc?

图像估算的优先级是什么?对我来说,这是我的最高优先级。估算时,我经常会放下几乎所有事情,花上几个星期的时间。

What is the prioritization of estimating? For me, it is my highest priority. I often drop nearly everything for several weeks when estimating occurs.

图像分配了多少资金用于估算?(1%到2%是正常的。)它是单独资助和跟踪的吗?

How much money is allocated to estimating? (1% to 2% is normal.) Is it separately funded and tracked?

图像如果您有三个或四个大型项目需要同时进行估算,您会怎么做?

What do you do if you have three or four large projects that need to be estimated at the same time?

图像如果你的商业伙伴没有接手项目怎么办(预估项目与资助项目的比例应该是多少)?

What if your business partners are not picking up projects (what should the ratio of estimated to funded projects be)?

图像小功能放在哪里?维护放在哪里?

Where do small features fit in? Where does maintenance fit in?

图像谁来审查这些估算?在估算普遍发布之前,请确保您的高级管理层熟悉这些估算。

Who will review the estimates? Make sure your senior management is familiar with the estimates before they are generally released.

项目类型

Types of Projects

您正在估算的项目类型可能会对您的架构方法中收集的信息产生重大影响。尽早了解项目类型可以帮助您确定需要考虑哪些因素。通常有五种主要类型的项目:

The type of project you are estimating can have a significant impact on the information gathered within your architectural approach. Getting an early understanding of the project type can help you formulate what considerations need to be taken into account. Normally there are five main types of projects:

图像 维护。这种类型的项目通常是维持运转的项目。它每年都有固定的资金;它没有分配很多资源,但有很多缺陷需要修复,还有小的改进需要开发。这个领域通常没有太多的架构活动。这种类型的项目的一个例子是成熟的产品需要一定程度的资金来跟上技术潮流或在市场上保持竞争力。

Maintenance. This type of project is usually a keep-the-lights-on type of project. It has fixed funding on a year-to-year basis; it does not have a lot of resources assigned to it, but it has a lot of defects to fix and minor enhancements to develop. There usually is not a lot of architectural activity in this area. An example of this type of project is an established product that needs a certain level of funding to stay current with technology or to stay competitive in the marketplace.

图像 迁移。这种类型的项目通常是平台问题的结果——项目需要从当前平台迁移到另一个平台。这可能是由于旧操作系统、软件或硬件不再受支持,或者由于投机取巧的供应商而导致维护成本极高。这种类型的项目的挑战在于它通常具有固定的功能、固定的资源和灵活的日期。不幸的是,这些功能的范围或其使用情况通常并不完全清楚,从而导致以后出现意外(即预算超支)。由于这种类型的项目可能没有新的收入,因此企业对大量投资的兴趣可能会受到限制。从架构的角度来看,挑战在于确定需要进行多少更改(重新设计),并帮助企业了解迁移的真实成本(通常,这不是一个受欢迎的消息)。这种类型的项目的一个例子是迁移大型机。

Migration. This type of project is usually the result of a burning platform—the project needs to be migrated off the current platform and onto a different one. This may be due to legacy operating systems, software, or hardware that is going out of support or that is extremely expensive to maintain due to opportunistic vendors. The challenge with this type of project is that it typically has fixed features, fixed resources, and a flexible date. Unfortunately, the extent of the features or their usage is usually not fully known, leading to surprises (read: budget busters) later on. Since there may not be new revenue associated with this type of project, the business’s interest in investing a lot will likely be limited. The challenge from an architectural perspective is determining how much change (reengineering) is warranted and helping to inform the business about the true cost of the migration (usually, not a popular message). An example of this type of project would be a move off of a mainframe.

图像 新产品/增强产品。这类项目通常是市场需求或潜在新市场机会或相邻市场机会的结果。这类项目通常很有趣也很令人兴奋,至少在刚开始时是这样。新产品或新功能可能不会定义不明确,但产品所有者希望实现的目标有一个愿景。从架构的角度来看,挑战在于产品所有者希望实现的方向可能是组织从未涉足过的地方。此类项目的一个例子是构建解决方案以填补整个产品组合中的空白或将您的产品组合扩展到新的高增长领域。

New/enhancement. This type of project is usually the result of market demand or potentially a new or adjacent market opportunity. These types of projects are usually fun and exciting, at least when they are starting out. The new product or new features may not be clearly defined, but a vision exists of where the product owners want to go. The challenge from an architecture perspective is that the direction the product owners want to go may be somewhere the organization has never been before. An example of this type of project would be building solutions to fill a gap in your overall product portfolio or to expand your portfolio into a new high-growth area.

图像 集成。这种类型的项目通常出现在另一种产品是某个领域的市场领导者,而您的企业希望与其集成,以便更轻松地销售您的产品时。这种类型的项目可能具有挑战性,因为缺乏适合您要实现的目标的适当接口,并且对另一种产品的杠杆作用最小。这种类型的项目的一个例子是将您的软件集成到订单到现金系统或人力资源系统中。

Integration. This type of project usually arises when another product is a market leader in a particular area and your business wants to integrate with it to enable easier sales of your product. This type of project can be challenging due to a lack of appropriate interfaces for what you want to accomplish and minimal leverage with the other product. An example of this type of project would be integrating into an order-to-cash system or into a human resources system from your software.

图像 收购。这类项目本身就是一个世界。它通常是在企业想要通过收购进入特定市场并购买专业知识或收入时发起的。从架构角度来看,挑战包括弄清楚自己构建这些功能需要什么,以及将这些功能集成到现有产品套件中并提高企业整体价值需要什么。这类项目的一个例子是购买一家初创公司来填补您整体产品组合的空白或将您的产品组合扩展到新的高增长领域。

Acquisition. This type of project is a world unto itself. It is usually initiated when the business wants to buy its way into a particular portion of the market and buy either expertise or revenue. The challenges from an architecture perspective include figuring out what it would take to build these capabilities yourself and what it would take to integrate these capabilities into your existing suite of products while increasing the business’s overall value. An example of this type of project would be purchasing a start-up to fill a gap in your overall product portfolio or to expand your portfolio into a new high-growth area.

当您看到这些项目类型的混合时,例如“迁移 + 新建”,请务必小心;这些功能可能没有经过深思熟虑,并且要求可能是“除了这几个项目外,让它与旧系统完全一样”。这种混合项目可能会超出预算,并且在原计划发布日期之后很久才完成。

Be cautious when you see a mix of these project types, such as Migration + New; the features are likely to not have been well thought out, and the requirements are likely to be “Make it just like the old system except for this handful of items.” This type of mixed project is likely to go over budget and be completed well after the original planned release date.

如果这是一个真正大型的混合项目,高级管理领导很可能不会留在公司,或者在项目完成之前已经退出到组织的其他部门。

If it is a truly large mixed project, the senior management leader is likely to not be with the company or have exited to another part of the organization before the project completes.

项目融资的替代方法

Alternative Ways of Financing Projects

通常有两种类型的融资用于资助项目。

There are typically two types of financing that are used to fund projects.

第一个是支出信封。在这种情况下,企业可能会要求每年进行一轮融资,对要完成的工作做出宽松的承诺。这些资金可能没有设定具体的投资回报率 (ROI)资金。这种项目的优点之一是,如果你今年没有完成某项功能,这可能不是什么大问题,因为你可能可以在明年轻松完成它。但是,要小心交付不足;这可能会导致难以管理的问题。重新确定优先顺序的能力,知道未来可能会有资金可用,使企业能够更具战略性地做出决策,并让技术做更多正确的事情。实际上,企业充当的是业主,而不是临时居民。这种融资方式还限制了企业可以承担哪些类型的工作——它是固定资金。

The first is a spending envelope. In this case, the business will likely ask for a yearly round of funding with a loose commitment to what will be accomplished. There may not be a specific return on investment (ROI) set for these funds. One of the advantages of this type of project is that if you don’t get a feature done this year, it may not be a large issue since you may be able to simply complete it next year. Be cautious about underdelivering, though; it can cause issues that are hard to manage. The ability to reprioritize knowing that future funding is likely to be available enables the business to be more strategic about its decisions and allows technology to do more of the right things. In effect, the business acts as a property owner instead of a temporary resident. This type of financing also limits the business in terms of what types of efforts it can take on—it’s fixed funding.

第二种融资方式是以项目为中心的。这种融资方式通常适用于具有明确范围、明确资金数额、明确交付日期和指定投资回报率的项目。这种项目类型的优势之一是您可以组建一支拥有满足特定需求的技能组合的团队。这种项目类型通常需要做出更多艰难的决定。企业想要完成的事情通常花费的资金超过可用资金,这可能导致质量下降(“让我们少做点测试”)或功能减少(“这个功能太贵或价值不够”)。

The second type of financing is project centric. This type is typically for a project that has a defined scope, a defined funding amount, a defined delivery date, and a specified ROI. One of the advantages of this type of project is that you can assemble a team that has the skill sets to address specific needs. This type of project typically requires that more tough decisions be made. Invariably, what the business wants to get done typically costs more than the available funds, which can lead to compromises in quality (“Let’s do less testing”) or fewer features (“This feature is too expensive or does not provide enough value”).

在这两种情况下,估算在确定项目成功与否方面都起着至关重要的作用。如果你有足够的资金和资源,你就可以按时按预算完成项目;你会看起来很成功。如果你的预算超支,你看起来就像参与了一个管理不善的项目。实际上,两者之间的唯一区别是估算和用于两者的相关资金。

In both cases, estimating plays a critical role in determining the success of the project. If you have sufficient funding and resources, you can get the project done on time and on budget; you will look very successful. If you have a budget overrun, you will look as if you have been involved in a mismanaged project. In reality, the only difference between the two was the estimate and the associated funding that was applied to both.

挑战在于得到“正确”的估计并且留有一定的误差余地。

The challenge is to get the estimate “right” and have some margin for error.

了解业务流程

Understanding the Business Process

您是否了解企业如何申请和获得支持开发过程的资金?企业采用瀑布式业务流程和敏捷开发流程并不罕见。这使他们能够对开发资金的投资方式和投资地点保持相对严格的控制和衡量。

Do you understand how the business goes about asking for and obtaining funds that enable the development process? It is not uncommon for corporations to have a waterfall business process and an agile development process. This allows them to maintain relatively tight control over and measurement of how and where the development dollars are invested.

你知道企业计划何时发货吗?在许多情况下,财务时钟开始时是产品拟定的发货日期,可能与项目的实际开始日期完全无关。在估算时,你需要清楚项目何时会开始开始(尽可能避免输入具体日期)以及何时交付(使其与开始日期相关)。

Do you know when the business plans to ship the product? In many instances, it is the proposed ship date of the product when the financial clock starts, and it may be not at all related to the actual start date of the project. When estimating, you need to be clear about when the project will begin (avoid putting in specific dates when possible) and when it will be delivered (make this relative to the start date).

许多你无法控制的因素都会影响项目何时开始。例如,可能会出现招聘冻结或承包商冻结,导致你的项目无法启动,直到其他项目完成并且现有资源可用。同时,财务部门认为资金已经交付,无论是否正在使用,并且交付的倒计时已经开始。一旦资金到位,财务部门如何跟踪你的数字?是否有任何利润(正负 10%)?如果超出利润,你如何处理例外情况?了解这类信息可以让你了解你的利润有多紧。如果没有误差空间,你的估算需要适当考虑到这一点。

Many factors outside of your control can influence when a project might start. For example, there may be a hiring freeze or a contractor freeze that results in your project not being able to start until other projects have completed and existing resources are made available. Meanwhile, finance considers the funds to have been delivered whether they are in use or not, and the countdown to delivery is has begun. Once the funds have been delivered, how does finance track you to your numbers? Is there any kind of margin (plus or minus 10%)? If you go above the margin, how do you deal with exceptions? Knowing this kind of information can inform you about how tight your margins can be. If there is no room for error, your estimate needs to properly account for that.

开发架构方法

Developing the Architectural Approach

建筑师负责在估算阶段制定项目的建筑方法。这种方法将作为估算制定的背景,并在项目开始后作为初始路线图。

Architects are responsible for developing the architectural approach for a project during the estimation phase. This approach will serve as a backdrop for how the estimate will be formulated and will serve as an initial roadmap once the project begins.

这是合作关系还是合同关系?

Is This a Partnership or a Contractual Relationship?

不同的业务部门以不同的方式运作。有些部门会以业务合作伙伴的身份与您合作,双方会公开分享信息。其他部门会以合同的方式与您合作,您提供的估算是固定报价估算。他们希望所有功能都具有尽可能高的质量,并且以指定价格或低于指定价格交付。了解业务的特定领域喜欢如何运作可以告知您需要如何估算以及您需要准备在估算中考虑哪些意外情况。

Different business units operate in different fashions. Some will work with you as business partners and there will be open sharing of information in both directions. Others will work with you in more of a contractual manner, where the estimates you produce are fixed-bid estimates. They expect all of the features at the highest possible quality and delivered at or below the price specified. Knowing how a particular area of the business likes to operate can inform you about how you need to estimate and what contingencies you need to be prepared to account for in your estimate.

根据关系的性质,您需要随时准备好捍卫您的估算。如果组织内的高管认为您的解决方案过于昂贵,他们可能会质疑您,而这被视为是镀金的。如果您提供战术解决方案来帮助企业满足特定期限,您可能会在自己的组织内受到质疑。这种战术解决方案可能会被视为其他人必须清理的黑客行为,或者它可能会引入扩展问题,从而不必要地耗费宝贵的资源。关键是要表明您是一个好居民,并且有计划解决将产生的任何技术债务。

Depending on the nature of the relationship, you need to be prepared to defend your estimates at all times. You may be challenged by executives within the organization if they feel your solution is too expensive for what is perceived as gold plating. You may be challenged within your own organization if you provide a tactical solution to help the business meet a specific deadline. This tactical solution may be perceived as a hack that someone else will have to clean up, or it may introduce a scaling issue that unnecessarily uses up valuable resources. The key is to show you are being a good resident, and that there is a plan to address any technical debt that will be incurred.

作为估算的创建者,请确保有足够的备用材料来使估算“真实”。如果估算被认为过低或过高,估算总会受到质疑。

Make sure as the creator of an estimate that there is ample backup material to make the estimate “real.” Estimates are always challenged if they are seen as too low or too high.

有时业务和技术之间的关系可能更具政治性。业务可能会使用估算流程来证明政治观点。

Sometimes the relationship between the business and technology can be more political in nature. The business may use the estimating process to prove a political point.

在大型组织中,管理人员经常使用估算来证明增加人员(资源人数)或甚至设立新职位的合理性。为了实现这一点,他们可能需要降低其他工作的优先级或停止其他工作,以便为这项工作腾出资源。

In a large organization, managers often use estimates to justify getting more people (resource headcount) or maybe even creating new positions. To accomplish this, they may need to deprioritize or shut down some other effort in order to free up resources for this one.

该项目的商业理由是什么?

What Is the Business Rationale for the Project?

一旦你理解了企业的要求,你就需要了解企业为什么要开展这个项目:

Once you understand what the business is asking for, you need to get a sense of why the business wants to pursue this project:

图像目的是为了节省成本吗?

Is the purpose to drive cost savings?

图像目的是为了增加收入吗?

Is the purpose to grow revenue?

图像企业是否正在寻求战略先发优势?

Is there a strategic first-mover advantage that the business is seeking?

图像这是快速赶上竞争对手并成为快速跟随者的竞争举措吗?

Is this a competitive move to quickly catch up to the competition and be a fast follower?

图像企业是否希望快速获利?

Is the business hoping for a quick win?

图像这是一个探索性项目吗?企业只是想试水吗?

Is this an exploratory project? Is the business just trying to test the waters?

了解开展项目的商业理由有助于推动解决方案,使企业能够实现并超越其目标。这一理由可以提供一些先行指标,表明项目的投资回报率可能是多少,甚至某些类型项目的总拥有成本 (TCO),尤其是对于构建还是购买决策。

Understanding the business rationale for pursuing the project can help drive a solution that will enable the business to meet and exceed its objectives. This rationale can provide some leading indication of what the ROI may be for a project or even the total cost of ownership (TCO) for certain types of projects, especially for build-versus-buy decisions.

营销方法是什么?

What Is the Marketing Approach?

了解产品的营销方法有助于指导您决定需要考虑哪些架构方向。在收集这些营销信息时,请考虑:

Understanding the marketing approach for your products can help guide your decisions about what architectural directions you need to take into account. As you gather this marketing information, consider:

图像您了解世界的营销方面吗?

Do you understand the marketing side of the world?

图像营销人员将如何销售该产品?

How is marketing going to sell this product?

图像他们要接触哪些客户?

What customers are they going to approach?

图像他们有客户角色吗?

Do they have customer personas?

图像他们做过客户研究吗?

Have they done customer research?

图像该产品是否适用于多个客户群体?如果不是,需要进行哪些更改或改变才能使其适用于多个客户群体?

Does the product apply to multiple customer segments? If not, what changes or skins would be necessary to make it apply to multiple customer groups?

花时间了解销售是如何进行的以及产品是如何呈现给客户的,可以帮助您制定更好的解决方案,并优先考虑所考虑的方法的决策。

Taking the time to understand how sales are made and how the product is presented to your customers can help you craft better solutions and prioritize decisions about the approaches being considered.

这是重复估计吗?

Is This a Repeat Estimate?

对于技术而言,通常需要估算的项目之前就已经存在了。如果发生这种情况,请考虑为什么新产品开发不断要求相同的项目,但略有不同。他们是否在寻找成本最低、利润最大(客户利益)的组合?重新估算是否基于客户访问的新见解?

Often for technology, a project that needs to be estimated has been around the block before. If and when this occurs, consider why new product development keeps asking for the same project, but with minor twists. Are they searching for the combination that has the least cost with maximum profit (customer benefit)? Are the reestimates based on new insights from customer visits?

在几乎所有情况下,重新评估项目时都要谨慎行事(见图4.4)。

In nearly all cases, proceed cautiously when reestimating projects (see Figure 4.4).

图像

图 4.4谨慎处理已被回收和重新评估的项目——了解该项目之前未获得资助的原因。

Figure 4.4 Proceed cautiously with projects that have been recycled and reestimated—understand why the project was not previously funded.

考虑将功能分开,使其更像自助式估算,请求者可以挑选他们想要的部分,包括替代方案。执行此操作时,请确保注意关键依赖关系。某些功能可能依赖于其他功能,并且您不希望在存在未考虑的隐藏成本的情况下进行选择。如果功能之间存在一组通用的核心功能,请将其作为估算的必需部分分离出来;这将帮助请求者选择其中一个替代方案或可能同时选择两个替代方案,而不会低估或高估所需的工作量。

Consider separating the features and making it more of a buffet-style estimate, one where the requesters can pick and choose the parts they want, including alternatives. When you do this, make sure that critical dependencies are noted. Some features may have dependencies on others, and you don’t want selections to occur where there are hidden costs that were not accounted for. If there is a common core set of functionality among features, separate it out as a required portion of the estimate; this will help the requesters pick one of the alternatives or potentially both without under- or overcounting the effort needed.


笔记

Note

为企业提供可供选择的选项矩阵通常可以帮助消除重复估算的需要。

Having a matrix of options for the business to select from can usually help eliminate the need for repeat estimates.


挑战在于,提供包含多种替代方案的自助式估算成本高昂且具有潜在风险,可能需要大量制作时间较长,而且以简单的方式向企业展示可能具有挑战性。理想情况下,它可以放在 PowerPoint 幻灯片中。

The challenges are that giving a buffet-style estimate with multiple alternative options is expensive and potentially risky, can take a significant amount of time to produce, and may be challenging to present to the business in a simple manner. Ideally, it will fit on a PowerPoint slide.

您发现了哪些风险?您能减轻这些风险吗?

What Risks Have You Identified? Can You Mitigate Them?

随着估算过程的推进,识别和降低风险的能力是架构师的主要职责之一。降低新领域风险的最佳方法之一是进行概念验证 (POC)。如果您有时间和资金,测试想法和验证方法是非常有价值的。根据我的经验,在估算期间进行 POC 几乎是不可能的。在估算期间或之前,通常很难获得 POC 批准。除非有“证据”证明成本节约减少或收入增长或偶尔有战略性举措,否则资金很可能不会获得批准。如果可能的话,请与您的技术管理和业务合作伙伴合作,研究为这些 POC 工作提供资金。最终,从时间、预算和资源角度来看,降低项目风险并使项目取得成功符合他们的最佳利益。

As you progress through the estimation process, the ability to identify and mitigate risk is one of the chief responsibilities of an architect. One of the best ways to mitigate risk in a new area is to do a proof of concept (POC). Testing the idea and validating the approach are invaluable if you have the time and funds. It has been my experience that doing a POC during estimating is nearly impossible. It is typically extremely hard to get POCs approved during, or prior to, estimating. The dollars are likely to not get approved unless there is “proof” of a reduction in cost savings or a growth in revenue or occasionally a strategic play. If at all possible, work with your technology management and business partners to look at funding these POC efforts. In the end, it is in their best interests to lower project risks and have projects succeed from a time, budget, and resource perspective.

企业通常都有这样的经历:大多数效率策略都无法成功。虽然有很好的口号,但最终却无法实现。成本以其他方式转移,最终看起来像是骗局。您需要查看总拥有成本。

The business typically has had the experience that most efficiency plays don’t pan out. Great claims are made, but they don’t materialize. The costs shift in other ways, and in the end, it looks like a shell game. You need to look at the total ownership costs.

在评估系统开发时,请花时间考虑以下问题:

As you estimate the development of the system, take time to consider these issues:

图像当您首次扩展/开发系统时,可以使用虚拟机或基于云的硬件吗?从长远来看,您需要注意实际成本——如果您的使用率很高,那么使用物理机可能更好。您需要考虑,如果您在最初选择虚拟机或基于云的硬件后被迫转向物理机,这将对整体投资回报率产生什么影响。花点时间记录哪些情况会导致您做出这一改变。如果其中一种情况成为现实,您最好将其作为风险提出来。

Can you use virtual machines or cloud-based hardware when you will be first scaling/developing the system? In the long run, you need to be careful of what the real costs are—if your usage is high, you are probably better off with physical machines. You need to consider what the impacts will be on the overall ROI if you are forced to move to physical after initially selecting virtual machines or cloud-based hardware. Take the time to document what scenarios would cause you to make this course change. If one of these scenarios comes to fruition, you will be much better off having raised it as a risk.

图像您是否了解硬件需求的时间表?考虑到引入新物理硬件通常比较缓慢,请花时间确定项目启动时的关键依赖关系。

Do you understand the timelines of hardware needs? Given the normal slowness in bringing in new physical hardware, take the time to identify the critical dependencies for when the project kicks off.

图像什么时候需要较低的环境?是否有特殊的硬件或软件需求?

When do you need lower environments in place? Are there special hardware or software needs?

图像是否需要进行操作开发(以前没有处理过或设置的系统)?

Is operational development required (systems that have not been dealt with or set up before)?

图像您是否了解客户所在的位置?您是否了解他们的潜在延迟?

Do you understand where your customers will be located? Do you understand their potential latency?

图像您计划使用哪种日志/诊断软件?当生产过程中出现问题时,全面监测软件的能力可以挽救生命。

What kind of logging/diagnostic software do you plan to have in place? The ability to fully instrument your software can be a life-saver when things go wrong in production.

图像您对哪些类型的缓存有顾虑?

What kind of caching concerns do you have?

图像应用程序中是否存在对网络延迟敏感的区域?

Are there areas of the application that will be sensitive to network latency?

图像是否涉及大数据?您是否准备好处理可能收集的大量数据?您是否有计划充分利用这些数据?

Is big data involved? Are you prepared to process the large volumes of data you may be gathering, and do you have a plan to put it to good use?

图像您知道主要的成本驱动因素是什么吗?您采取了哪些措施来降低这些成本?

Do you know what the key cost drivers are? What have you done to mitigate those?

很多时候,人们在估算工作量时只看到最理想的情况。当企业听说成本较低时,就会出现问题,因为他们没有意识到估算没有考虑到风险或与项目相关的所有其他支持成本。

Many times, people estimate work and see only the happy path. This presents issues when the business hears of this lower cost, not realizing that the estimate did not take into account the risks or all of the other support costs associated with a project.

降低风险的关键是首先识别风险;然后尝试解决它,并在必要时调整估计。

The key to reducing risk is to first identify it; then you have a shot at addressing it and adjusting your estimate if needed.

您正在构建平台吗?

Are You Building a Platform?

构建平台与构建应用程序需要截然不同的方法。如果您尝试构建平台:

Building a platform versus an application requires a very different approach. If you are trying to build a platform:

图像您是否考虑过多租户?

Have you considered multitenancy?

图像您考虑过国际化吗?

Have you considered internationalization?

图像是否需要和多个业务系统集成?

Is there a need to integrate with multiple business systems?

图像需要哪些类型的分析工具?您需要集成多种分析工具吗?

What types of analytic tools are needed? Do you need to integrate with more than one?

图像还需要哪些第三方工具?许可成本如何?随着使用量增加、用户数量增加、安装数量增加,这些许可成本如何变化?

What other third-party tools are required? What about licensing costs? How do these licensing costs change as your usage increases, number of users increases, number of installations increases?

图像那么安全性呢?加密吗?

What about security? Encryption?

图像您是否允许用户注入自己的自定义代码?如果是,如何操作?

Will you allow users to inject their own custom code? If so, how?

图像你了解分区规则吗?

Do you understand the partitioning rules?

图像您是否了解您的平台上可能托管的不同应用程序之间的呈现差异?

Do you understand the variance in presentation between different applications that may be hosted on your platform?

图像您是否了解每个应用程序和潜在应用程序所需的通用和独特数据?

Do you understand the common and unique data required for each application and potential applications?

平台估算更为复杂,影响组织中的更多人,并且有可能以非常公开的方式出错。有关平台的更多信息,请参阅第 6 章平台开发”。

Platform estimates are more complex, impact more people in an organization, and have the potential to go wrong in a very public manner. For more information on platforms, see Chapter 6, “Platform Development.”

您要重新平台化吗?

Are You Re-platforming?

重新构建现有项目平台可能是一项非常具有挑战性的任务。那些掌握财政大权的人很少愿意了解迁移到新平台的实际成本和工作量。当面临项目重新构建平台时,您需要退后一步,以创新的眼光看待解决问题的方法:

Re-platforming an existing project can be a very challenging endeavor. Those holding the financial purse strings rarely want to hear the real cost and the effort involved to migrate to the new platform. When facing a re-platforming of a project, you will want to step back and take an innovative look at how you approach the problem:

图像新项目的交付方式能否显著改善现有产品?如果改进足够显著,则有助于增加收入预测,并有助于提高项目获得批准的可能性。

Can the new project be delivered in a manner such that it is a significant improvement over the existing product? If the improvements are dramatic enough, they can help justify an increase in revenue projections and help bolster the likelihood of obtaining approval of the project.

图像是否存在可以利用的解决方案?开源、云提供商和其他替代解决方案可能会降低总体成本、缩短交付时间并最大限度地降低新系统的维护成本。

Are there solutions that exist that you can leverage? Open source, cloud providers, and other alternative solutions may reduce the overall cost, shorten the delivery time, and minimize the maintenance costs of the new system.

图像有没有办法逐步解决问题?通过分阶段逐步向利益相关者提供价值,可以让他们更早看到积极成果,并有助于降低财务风险。这也可能使财务负责人能够逐步批准资金并随着时间的推移适应市场需求。

Are there ways to incrementally approach the problem? Being able to incrementally deliver value to your stakeholders through phasing will allow them to see positive results earlier and help mitigate financial risk. This may also allow those in charge of the finances to incrementally approve funding and adjust to market needs as time progresses.

图像利益相关者是否愿意降低总体要求并将您的产品简化到客户必不可少且大量使用的领域(提供最大效用的 20%)?

Are the stakeholders willing to reduce the overall requirements and simplify your product to areas that are essential and heavily used by your customers (the 20% that provides the greatest utility)?

评估平台重建项目是最困难的评估工作之一。花时间考虑并提供多种方案来处理整体工作,有助于缓解这类工作通常带来的焦虑。

Estimating a re-platforming project is one of the most difficult estimating efforts. Taking the time to consider and deliver multiple options for how to approach the overall effort can help mitigate the angst that typically surrounds these types of efforts.

正在发挥作用的是哪些技术?

What Technologies Are in Play?

估算过程中选定的技术会对几乎所有人对项目的看法产生巨大影响。新技术可能会引起技术界的极大兴奋,引起业务合作伙伴的关注,引发一系列运营问题,并打开一整套以前无法实现的全新功能的大门。

The technologies that are selected during estimation can have a dramatic impact on nearly everyone’s perceptions of the project. New technologies can garner significant excitement in the technology ranks, raise concern from your business partners, introduce a host of operational concerns, and open the door to a whole new set of capabilities that were previously unattainable.

挑战在于引入有限的新技术,这些技术将为企业带来明显的价值,最大限度地降低运营风险,并保持技术的现代化,以继续吸引人才加入您的组织。

The challenge is to introduce a limited set of new technologies that will demonstrate clear value to the business, minimize operational risks, and keep technology modernized to continue to attract talent to your organization.

当你为估算工作制定一系列可能的解决方案时,你是否有时间

As you craft a set of possible solutions for the estimating effort, do you have time to

图像执行小规模 POC 来帮助验证感兴趣的技术的可行性?

Perform small POCs to help validate the viability of the technologies that are of interest?

图像展示不同技术解决方案的优缺点?

Show the pros and cons of different technology solutions?

图像确定不同解决方案的风险、假设、问题和依赖关系?

Identify the risks, assumptions, issues, and dependencies for the different solutions?

图像确定所需的遗留系统集成?确定财务系统集成?

Identify required legacy system integrations? Identify financial system integrations?

图像找出解决问题的不同方法?你能使用 Hadoop 来解决问题吗?你能使用 NoSQL 数据库吗?

Identify different approaches to the problem? Can you use Hadoop to solve the problem? Can you use a NoSQL database?

图像确定大家对变革的普遍渴望程度?如果渴望程度较低,您真的想参与其中吗?

Determine the general appetite for change? If it is low, do you really want to be there?

当您考虑所有技术、部署模型和技术堆栈时,请考虑对测试、运营和支持的影响。所有这些项目都有相关成本,可以帮助您验证技术选择的可行性。

When you take into account all of the technologies, deployment models, and technology stacks in play, consider the impacts on testing, operations, and support. All of these items have costs associated with them and can help you validate the viability of your technology choices.

组织结构是怎样的?

What Is the Organizational Structure?

康威定律:“任何一个设计系统(广义上)的组织,都会产生一个设计,其结构是该组织的沟通结构的副本。”

Conway’s Law: “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.”

—梅尔文·康威

—Melvin Conway

根据我的经验,正在开发的软件反映了开发该软件的组织以及接收该软件的组织的组织结构。

Judging from my experience, the software being developed reflects the organizational structure of both the organization developing it as well as the organization that is receiving it.

你的组织结构是怎样的?

What is your organizational structure?

在大型软件项目中,团队不太可能完全集中在同一地点。如果在同一个地点,那么并不是每个人都会在同一层楼。如果他们在同一层楼,那么很可能并不是所有人都在 50 英尺以内。(麻省理工学院的汤姆·艾伦 (Tom Allen) 表示,这是团队成员之间保持最大距离以进行定期协作。如今有了在线协作工具,这不再是问题,但近距离肯定有帮助。)

In large software projects, the team is unlikely to be fully colocated in the same site. If it is in the same site, not everyone is likely to be on the same floor. If they are on the same floor, it is likely that not all of them are within 50 feet of one another. (This is the maximum distance for team members to be apart for collaboration to occur regularly, according to MIT’s Tom Allen. This is less of an issue today with online collaboration tools, but close proximity definitely helps.)

随着架构的出现和关键组件变得清晰,请考虑以下几点:

As the architecture emerges and the key components become clear, consider the following:

图像您可以与该地区可能接受这项工作的谁一起审查该方法?

With whom within the area that is likely to receive the work can you review the approach?

图像谁是您值得信赖的合作伙伴?

Who are your trusted partners?

图像您是否假设谁将负责这项工作?情况会发生变化。

Are you assuming who will do the work? Things change.

图像您是否有能力引入承包商或将工作承包出去?

Do you have the ability to bring in contractors or contract out the work?

图像您有能力将团队集中安置吗?

Do you have the ability to colocate the team?

图像如果团队不在同一地点,他们至少位于同一时区吗?

If the team is not colocated, are they at least in the same time zone?

图像您能将位于同一地点的团队转移到一个隔离区域吗?

Can you move the colocated team to an isolated area?

图像有没有办法尽量减少与其他组织的依赖关系?要知道耦合和内聚也是组织结构中的因素。

Are there ways to minimize the number of dependencies with other organizations? Realize that coupling and cohesion are also factors in organizational structures.

图像您能否消除所有组织依赖并拥有完全的控制权?

Can you eliminate all organizational dependencies and have complete control?

图像技术组织是否反映了其所服务的组织或市场?如果另一个领域拥有您需要的关键技能,那么跨越组织界限让该领域完成这项工作可能会很有挑战性。

Does the technology organization reflect the organization or market it is serving? If another area has a key skill that you need, it may be challenging to cross organizational boundaries to have that area do the work.

您需要寻求外部研究吗?

Do You Need to Seek External Research?

如果您要进入公司以前没有定期处理的领域,请考虑与 Gartner 或 Forrester Research 等公司一起研究更广泛的主题。他们可以提供一般的行业方向和趋势。

If you are moving into areas that your company has not previously dealt with on a regular basis, consider doing research on broader topics with companies like Gartner or Forrester Research. They can provide general industry direction and trends.

如果您有更具体的东西,但在某个领域仍然缺乏一定程度的专业知识,请寻找专门从事您所需领域的公司(最好是当地的)。

If you have something specific and more concrete, but still lack a level of expertise in an area, seek out firms (ideally, local) that specialize in what you are looking for.

有白皮书吗?网站?博客?任何能给你提供信息的信息都是好东西。调查专利时要小心谨慎;这是法律部门的工作,不是你的工作。

Are there white papers? Websites? Blogs? Any information you can get to inform you is a good thing. Be cautious about investigating patents; that is legal’s job, not yours.

您是否已确定可利用的组件?

Have You Identified Leverageable Components?

在架构方法进展过程中,请考虑以下事项:

As you progress through an architectural approach, consider the following:

图像还有其他项目您可以利用其成果吗?

Are there other projects whose work you can leverage?

图像可以利用的组件是否已基本完成?

Are the leverageable components nearly complete?

图像资金是否能保证完成被确定为可利用的部分?

Is funding guaranteed to complete the components identified as leverageable?

图像您能依赖该实施方案为您工作吗?

Can you depend on the implementation working for you?

图像您能向其他项目提供需求吗?

Can you feed requirements to the other project?

图像您能给他们额外的资金吗?

Can you give them additional funding?

图像如果您的用例有细微差异,您可以添加到他们的源代码中吗?如果不行,您可以复制一份吗?

Can you add to their source code if there are slight variations for your use cases? If not, can you take a copy?

如果有任何依赖项不能保证交付,则需要包括所需工作的成本加上完成和测试该工作的成本,以确保您获得适当水平的资金。

If there are any dependencies that are not guaranteed to be delivered, you need to include the cost of the work you need plus the cost to finish and test that work to ensure that you obtain an appropriate level of funding.

我曾参与过几个项目,承诺提供软件的人未能交付。通常他们的企业不愿意为战略解决方案付费;他们通常只关心满足自身业务需求的最低限度的资金。在这种情况下,挑战在于,根据其他企业采取的路径,您可能会一无所获。

I have had several projects where those who promised software failed to deliver. Usually their business did not want to pay for the strategic solution; they typically cared only about funding the absolute minimum that met their own business needs. In such a situation, the challenge is that, depending on the path the other business takes, you could be left empty-handed.

我也见过这样的情况,最初企业和技术承诺支持战略性地开发项目,拿出资金来战略性地开发项目,但由于时间限制而“破解”了系统。

I have also seen situations where initially the business and technology promised support to develop the project strategically, took the money to do it strategically, but due to time constraints “hacked” the system.

非常非常谨慎地依赖与你的项目有松散或间接联系的其他团队,尤其是在工作尚未完成时。如果你这样做,请在估算中明确确定依赖关系,并确保业务高层知道你依赖的是什么,并且了解依赖关系,包括技术、政治和其他方面。

Be very, very cautious about depending on other groups with loose or indirect ties to your project, especially when the work is not complete. If you do, clearly identify the dependencies in the estimate, and make sure that those at higher levels of the business are aware of what you are depending on and that there is an understanding of the dependencies, technical, political, and otherwise.

一般来说,如果你需要的东西不在生产中,那么就把构建该功能的工作纳入你的业务案例中。如果其他团队能够交付,你就会有额外的资金来支付其他费用,甚至可能是额外的功能。

Generally speaking, if what you need is not in production, include the work to build the capability in your business case. If the other group delivers, you will have extra funds to cover other costs or maybe even additional features.

总体而言,将零部件供应商视为外部供应商。现在不是放松警惕的时候。合理的零部件供应商应该欢迎正式协议。这对各方来说都是双赢的。

In general, treat the component supplier like an external vendor. This is not the time to let your guard down. A reasonable component supplier should welcome a formal agreement. It is a win-win for all sides.

评估策略

Estimating Strategies

在估算过程中,有一套历史悠久的策略可以帮助该过程更顺利地运行,如以下章节所述。

During the estimating process, there is a set of time-honored strategies to help the process run more smoothly, as described in the following sections.

应对未知和挑战

Plan for Unknowns and Challenges

确保在估算中包括出错的时间(未知因素);任何事情都不会按计划进行。如果您为出错做好了计划,您将有足够的资源来恢复。如果没有,您将为与高管的不愉快经历做好准备。他们希望您无论遇到什么障碍都能完成任务。

Make sure in your estimates that you include time for things to go wrong (for unknowns); nothing ever goes as planned. If you plan for things to go wrong, you will have sufficient resources to recover. If not, you are preparing yourself for a less-than-pleasant experience with the executives. They expect you to deliver regardless of what hurdles you encounter.

要现实:不要为了得到项目而屈服

Be Realistic: Don’t Cave In Just to Get the Project

如果你不能将数字降到足以让企业满意的水平,那么项目就没戏了。如果项目资金只有所需资金的一半(无论是由于范围计算错误还是硬件需求过大),那将是一次糟糕的经历。

If you can’t get the numbers low enough for the business to be happy, it is okay for the project to go away. Being on a project that has half the money it needs (whether due to scope miscalculations or excessive hardware needs) is an awful experience.

把关键的东西放在身边

Keep the Critical Things Close

努力取悦客户,并建立一个系统,在这个系统中,您可以最大程度地控制对您的成功和业务至关重要的领域(这可能是您与众不同之处,也是您的产品与众不同之处)。不要制造不必要的组件;让其他人拥有和维护它们。当谈到非必要组件的维护周期时,无论是现在还是将来,在这些领域投资都不符合您企业的最佳利益。

Try to seek to delight the customer, and build a system in which you have most control in areas that are critical to your success and your business (this is likely what makes you special and differentiates your product from others). Don’t build nonessential components; let someone else own and maintain them. When it comes to the maintenance cycle of nonessential components, it is not in your business’s best interest to invest money in these areas either now or in the future.

开发评估反馈回路

Develop Estimating Feedback Loops

为估算过程开发反馈循环将有助于确保您在进行过程中不断学习,并有助于提高估算的速度和效率。在执行此操作时,请考虑以下事项:

Developing feedback loops for the estimating process will help ensure that you are learning as you go and will help increase the speed and efficiency of the estimates that are produced. As you do this, consider the following:

图像您是否有一个一致的方式来记录估算? 审查估算? 改进估算?

Do you have a consistent way of capturing estimates? Reviewing estimates? Improving estimates?

图像您是否有一个用于比较估算值和实际值的反馈回路?请求的功能与交付的功能?如果没有,原因是什么?如果有,您可以做出哪些改进?

Do you have a feedback loop for comparing estimates to actuals? Functionality requested to functionality delivered? If not, why not? If so, what improvements can you make?

图像你所做的事情能带来什么价值?

What value does what you are doing bring to the table?

图像您能从这个过程中消除任何东西吗?

Can you eliminate anything from the process?

通过反馈循环改进您的估算流程,可以让您及时了解行业中新学到的最佳实践,并帮助您的估算与业务需求保持一致。

Refining your estimating processes through feedback loops allows you to stay up to date with new learned best practices in the industry and helps keep your estimates aligned with business needs.

最小化组织耦合和内聚

Minimize Organization Coupling and Cohesion

组织就像软件组件。组织单元之间的紧密耦合会导致许多问题。组织单元需要具有灵活变化的能力,而组织的其余部分则不必随之改变。同样,您应该努力将项目的高度凝聚性保持在组织边界内。

Organizations are just like software components. Tight coupling between organizational units can cause many problems. Organizational units need to have the ability to flex and change without the rest of the organization having to change with them. In a similar vein, you should work to keep highly cohesive aspects of a project within organizational boundaries.

随时使用 PowerPoint

PowerPoint as You Go

在制定估算的架构方法时,通常最好将收集的信息直接捕捉到 PowerPoint 演示文稿中。您将被要求多次进行演示,而 PowerPoint 演示自然会让您为即兴请求做好准备,以了解估算的状态。

When developing an architectural approach for an estimate, it is usually best to capture the information you are gathering directly into a PowerPoint presentation. You are going to be asked to present it many times, and PowerPointing as you go naturally prepares you for impromptu requests to go over the status of the estimate.

架构方法永远不会完全完成。截止日期将迫使您根据业务要求的时间表交付成果(通常非常快,对于我的大多数项目来说,通常为一周或更短)。

The architectural approach is never fully complete. Deadlines will drive you to deliver what you have based on the timelines the business is seeking (which are normally very quick, usually a week or less for most of my projects).

制定清单

Develop Checklists

确保估算一致的最佳方法之一是制定和维护检查表。每次估算完成后,请花时间回顾并更新您的检查表,以反映新的学习成果。本章中提出的问题可以作为起点。

One of the best ways to ensure consistent estimates is to develop and maintain checklists. As each estimate is delivered, take the time to go back and update your checklists to account for new learnings. The questions asked in this chapter may serve as a starting point.

尽早获得高管和组织的支持

Gain Executive and Organization Buy-in Early

作为架构师,您从事的是销售工作。在介绍即将推出的架构方法之前,您需要确保所有各方都已接受它。这意味着您需要尽早沟通并获得高管和所有受您推荐的方法影响的相关组织的认可。

As an architect, you are in sales. Before presenting the architectural approach you are about to roll out, you need to ensure that all parties have bought into it. This means you need to communicate early and gain buy-in with the executives and all dependent organizations that will be impacted by the approach you are recommending.


记住

Remember

高管和组织不喜欢惊喜。

Executives and organizations do not like surprises.


如果您未能获得早期认同,并在估算过程中开始要求组织公开承诺某个方向,而他们之前却不了解该方向,那么您几乎肯定会面临防御姿态、失去信任和漫长的估算之路。

If you fail to gain early buy-in and begin asking organizations to publicly commit to a direction during the estimating process without them having prior knowledge of that direction, you are almost always guaranteed to be faced with defensive posturing, a loss of trust, and a long estimating road.

估算原则

Estimating Principles

在估算过程中,需要牢记几个原则。

During the estimating process, there are several principles to keep in mind.

了解难题

Know the Hard Problem

这是决定项目成败的唯一因素。花点时间找到它并确保它得到妥善处理,或至少妥善记录。

This is the single factor that will determine the success or failure of a project. Take the time to find it and ensure that it is properly addressed or, minimally, properly documented.

提供选项

Provide Options

在估算时,为您的业务合作伙伴提供选项将使他们能够配置他们想要的项目并比较选项的成本效益。他们可以选择并感觉好像自己在掌控之中。他们更有可能支持未来的决定,因为他们是做出决定的人。

When estimating, giving your business partners options will allow them to configure the project they want and compare the cost benefits of the options. They get to choose and feel as if they are in control. They are much more likely to be supportive of the decision going forward because they were the ones who made the decision.

让设计决策保持开放

Leave Design Decisions Open

虽然您应该了解至少一种实现估算解决方案的方法,但请将最终的设计决策留到您接近问题时再做;您和其他人可能会发现更好的方法来解决问题。

Although you should understand at least one way of implementing a solution for the estimate, leave the final design decisions to when you are close to the problem; you and others may discover much better ways to address the problem.

了解时间表

Know the Schedule

在估算项目时,您需要了解在合理的人员配备下,预期的交付日期是否可实现。如果不能,您需要立即沟通。尽早得知坏消息比做出无法兑现的承诺要好得多,而且高管也没有时间介入并帮助补救这种情况。

When estimating a project, you need to have a sense of whether the desired deliverable date is achievable with a reasonable amount of staffing. If it is not, you need to communicate this immediately. Bad news early is much better than making commitments you are unable to keep and there is no time for an executive to step in and help remedy the situation.

知道你想要什么

Know What You Want

您认为每个项目的某些方面对于解决方案的完整性至关重要。不要在这些方面妥协。

There are aspects of every project that you believe are critical to the integrity of the solution. Don’t compromise on these areas.

避免消极

Avoid Being Negative

回应他人的方式有很多种。当别人质疑你的做法时,不要表现得消极;他们正在努力帮助你。

There are many ways to respond to people. Avoid being negative when others are questioning your approach; they are trying to help.

寻找说“是”的机会

Seek Opportunities to Say Yes

如果可能的话,想办法给你的商业伙伴提供他们想要的东西,并尝试给开发人员提供机会他们认为有趣的领域。他们自然会参与其中,并取得超出预期的成果。

When possible, seek ways to give your business partners what they are looking for, and try to give the development staff opportunities to work on the areas that they perceive as interesting. They will naturally be engaged and deliver more than expected.

现在就努力讨价还价,而不是以后

Bargain Hard Now, Not Later

讨价还价的最佳时机是在估算过程中。你需要解决已知问题,而不是回避它们。早期的公开对话可以将真正的问题摆到最前面,并有助于在其他人知道你公平处理他们的情况下,让他们对项目保持承诺。

The time to bargain hard is during the estimating process. You need to work out known issues instead of avoiding them. An open conversation early on can bring the real issues to the forefront and help maintain commitments from others well into a project when they know you have dealt with them fairly.

我的经验是,一旦估算被审查和批准,就很难添加与技术相关的项目,即使它们具有战略重要性。

My experience has been that it is extremely hard to add technology-related items once the estimates have been reviewed and approved, even when they turn out to be of strategic importance.

不要屈服

Don’t Cave In

现在的痛苦很轻,否则以后的痛苦会更严重。如果你在自己热爱的事情上屈服,你的心就不会在这个项目上。你最好为自己的信仰而战,如果可能的话,为别人信仰而战。当你的信念与你的信仰一致时,你走的路会更快乐。

Mild pain now; otherwise worse pain later. If you cave in on things that you are passionate about, your heart will not be in the project. You are far better off fighting for what you believe in and, if possible, fighting for the things others believe in. The road you travel will be much happier when it aligns with your convictions.

相信你的直觉

Trust Your Gut Feeling

如果在估算过程中感觉有些不对劲,请深入研究该领域并尽可能多地了解它。您的直觉几乎总是能够很好地表明事情是否在正确的轨道上并且大小正确。如果可能的话,用可靠的数据驱动信息支持您的直觉。如果您遇到挑战,您将需要它。

If there is something that doesn’t feel right during the estimating process, dive into the area and learn everything you can about it. Your gut feeling is almost always a good indicator of whether things are on the right path and sized correctly. If possible, back up your gut feeling with solid data-driven information. You will need this if you get challenged.

警惕他人已估算的项目

Beware of Projects That Others Have Estimated

当你接手别人估算的项目时,请认真考虑你认为应该采用什么方法。如果估算不准确,你需要在开始项目之前公开说明。等待的时间越长,你就越能传达出你同意接手项目时所做的假设。

When you take on a project that someone else has estimated, take a serious look at what you believe the approach should be. If the estimate is bad, you need to get that into the open before you begin working on the project. The longer you wait, the more you are communicating that you agreed with the assumptions that were in place when you took ownership of the project.

了解企业的​​目标建造价格

Know the Business’s Targeted Build Price

企业很少会在没有认真考虑过生产这种产品愿意花多少钱的情况下就来寻求估价。通常,在开始估算过程之前,请求者已经调查或要求从不同的营销部门获得收入。询问目标建造价格。

The business rarely comes looking for an estimate without having given some serious thought to what it is willing to pay to build this product. Often, the requesters have already polled or asked for revenue sign-up from the different marketing segments prior to beginning the estimating process. Ask for the target build price.

整合所有

Bringing It All Together

一旦您建立了项目背景,开发了架构方法,并对估算策略和原则有了充分的理解,您就可以开始与估算团队合作来制定所需的估算。

Once you have the project context established, an architectural approach developed, and a solid understanding of the estimating strategies and principles, you are ready to begin engaging the estimating team(s) to develop the estimate that is being sought.

了解你的时间表

Knowing Your Timeline

您是否区分了工作量和时间线?时间线是否会根据资源可用时间而变化?财务何时开始计算投资回报率?有时,即使估算过程耗时 9 个月并经过 15 次迭代,项目获得批准并确定交付日期后也会立即开始计算。(奇怪的是,这个特定的项目非常成功,并且深受用户喜爱。但对于参与估算的人来说,这项工作非常艰苦、累人,并且需要轮流与多组业务合作伙伴合作。)

Do you differentiate between effort and timeline? Does the timeline shift based on when resources are available? When does finance begin calculating ROI? Sometimes it is as soon as the project gets approved and the delivery date is set even though the estimating process took nine months and 15 iterations. (Oddly enough, this particular project was successful and highly liked by the users. For those involved in the estimating, though, it was grueling, tiring, and rotated through multiple sets of business partners.)

谁参与估算?

Who Is Involved with Estimating?

获得合理估算的关键要素之一是让那些将要从事这项工作或最近从事过类似工作的人参与估算。这通常由首席开发人员完成,这些人将每天从事这项工作或监督这项工作。如果可能的话,尽量避免让经理或主管给出估算,并礼貌地拒绝包括提供数字的副总裁。

One of the key elements of getting a reasonable estimate is to have those who will be doing the work or have recently done similar work involved with producing the estimate. This is typically done by lead developers, those who are going to do the work or oversee it on a daily basis. If possible, try to avoid having managers or directors give estimates, and respectfully decline including VPs who offer up numbers.

您是否需要聘请特定领域的专家?如果他们之前曾评估过此类工作,那么他们很可能对所做工作有标准估计(例如,每个样式表需要一定的天数)。如果您从这些专家那里得到的估计不是以天为单位,请非常谨慎;他们不太可能完全了解所要求的范围。

Are there specialists in particular areas that you need to draw in? If they have estimated this type of work before, it is likely that they have standard estimates for the work being done (such as a certain number of days per style sheet). If you get estimates back from such specialists in something other than units of days, be very cautious; it is unlikely that they fully understand the scope of what is being requested.

做估算的人是否了解承包商与雇员的可能比例?如果不了解,请再次谨慎估算;这是一个可能很快超出预算的领域。

Do those doing the estimate understand the likely ratio of contractors to employees? If not, again be cautious about the estimate; this is an area that can quickly bust a budget.

了解你的杠杆点

Understanding Your Leverage Points

功能在组织内位于何处?如果您试图利用另一个业务部门的工作,祝您好运。如果资产是由其他业务部门建立和拥有的,那么在决策时,您将排在他们的优先级列表的末尾。如果它是由其他业务部门建立的,但由中心(公司)拥有,您就有机会分享优先级并增加资金,而无需放弃控制权。

Where does the functionality live within the organization? If you are trying to leverage work in another business unit, good luck. If the asset is built and owned by the other business unit, you will be at the bottom of their priority list when it comes to decisions. If it is built by the other business unit, but owned by the center (the corporation), you have a shot at sharing in prioritization and adding funding without ceding control.


笔记

Note

当有机会让某个有权威的人为你辩护时,要寻找杠杆。

Look for leverage when there is an opportunity to have someone in a position of authority to be your advocate.


通常情况下,大多数业务部门之间合作并不顺利;他们希望自己看起来更好。他们不希望其他业务部门分散他们实现收入目标的注意力。在这些领域要谨慎行事。

Typically, most business units do not work well together; they are incented to look good themselves. They do not want another business unit distracting from their need to meet revenue goals. Proceed in these areas with caution.

综合起来

Putting It All Together

您能否用一页纸的图表来说明该解决方案的工作原理?是否有几种替代方案?其优缺点是什么?

Can you put together a one-page picture of how the solution will work? Are there a couple of alternatives? What are the pros and cons?

风险是什么?做出了哪些假设?尚待解决的问题是什么?有哪些问题?有哪些顾虑?关键驱动要求是什么?该项目背后的历史是什么?发生了什么变化?有什么不同?

What are the risks? What are the assumptions being made? What are the outstanding questions? What are the issues? What are the concerns? What are the key driving requirements? What is the history behind the project? What has changed? What is different?

争取十页的演示文稿(标题、大纲、提问和七页实际内容)。考虑一下您通过呈现信息的方式期望获得的主要信息、关键要点和行动。

Shoot for a ten-page deck (title, outline, ask for questions, and seven real pages). Think about the main message and key takeaways and actions you expect as a result of how you have presented the information.

吸引高管

Engaging Executives

准备接受高管的检查

Be prepared to be examined by the executives about

图像为什么这些数字是这样的

Why the numbers are what they are

图像考虑过的替代方案

The alternatives that were considered

图像哪些风险已得到缓解

What risks have been mitigated

图像目前存在哪些风险

What risks currently exist

图像存在哪些依赖关系

What dependencies exist

图像是否有其他解决方案

Whether there are other solutions

图像可以使用且仍能满足业务需求的替代要求

Alternative requirements that could be used and still meet the business needs

做好功课,这样你就能找到所有答案,或者至少能解释为什么你没有答案。以非常高的层次呈现​​信息,但要准备好至少比你呈现的层次更深两个层次的细节(见图4.5)。

Do your homework so you have all of the answers or at least an explanation of why you do not have an answer. Present the information at a very high level, but be prepared to speak to at least two levels of detail deeper than the level you are presenting at (see Figure 4.5).

图像

图 4.5高管们喜欢深入研究他们认为存在弱点的特定领域,并会不断深入研究,直到找到弱点。要对这种行为做好准备。

Figure 4.5 Executives like to deep-dive into specific areas where they sense weakness and will keep drilling down until they find it. Be prepared for this behavior.

出售估价

Selling the Estimate

确保估算团队的领导层(包括您的管理层)同意。确保他们同意所推荐的方法,并且已考虑到所有因素。在合适的环境下(您是业务的真正合作伙伴),让业务合作伙伴预览估算结果可能没问题;否则,在与领导层达成一致之前,不要发布估算结果。通常,预览估算结果时要谨慎。有时收件人会忘记估算只是初步估计;根据估算的高低,这可能是好事也可能是坏事。在分发估算之前,请验证以下内容:

Make sure the leadership of the estimating team is in agreement, including your management. Make sure they are on board with the approach that is being recommended and that everything has been accounted for. In the right environment (you are truly partners with the business), it may be okay to give the business partners a sneak peek at the estimates; otherwise, don’t publish the estimates until you have alignment with your leadership. Generally, be cautious with sneak peek estimates. Sometimes the recipient forgets that the estimate is just a sneak peek; that can be good or bad depending on whether the estimate is high or low. Before distributing the estimate, validate the following:

图像您是否核对所有的数字了?

Have you cross-checked all of the numbers?

图像测试中是否存在差距/重叠?

Are there gaps/overlaps in testing?

图像硬件方面是否存在差距/重叠?

Are there gaps/overlaps in hardware?

图像其他团体对正在进行的工作的假设是否得到了实际解释?这些团体是否知道他们正在做这项工作?

Are other groups’ assumptions that work is being done actually accounted for? Do those groups know they are doing the work?

图像您是否认为另一个团体正在开展工作但并未明确提供资金?

Are you assuming that another group is doing work but not explicitly funding it?

图像你们是否明确同意另一方确实愿意做这项工作?

Do you have an explicit agreement that the other group is in fact willing to do the work?

图像此协议是否来自更高级别的人员(主管或以上)?如果是,您是否对时间做出了承诺?

Does this agreement come from a more senior-level person (director or above)? If so, do you have a commitment on the timing?

图像另一组正在重新设计他们的系统或正在进行一个重大项目吗?这些承诺不太可能实现,而且你的优先级较低。

Is the other group reengineering their system or in a major project? These commitments are not likely to be met, and you are a lower priority.

图像您是否已为用户体验 (UX) 测试、操作、部署、适配和完成预留了时间?架构师、项目管理 (PM) 时间、规模测试?硬件?许可成本?您是否应该考虑企业许可协议?

Have you included time for user experience (UX) testing, for operations, for deployment, for fit and finish? Architect, project management (PM) time, scale testing? Hardware? Licensing costs? Should you consider an enterprise licensing agreement?

图像您是否了解系统特性(并发、锁定、缓存、安全性等)?

Do you understand the system characteristics (concurrency, locking, caching, security, etc.)?

图像您知道主要组件(持久性、用户界面、批处理、提取-转换-加载 [ETL]、仓库、操作系统、业务系统等)吗?

Do you know the major components (persistence, user interface, batch, extract-transform-load [ETL], warehouse, operating system, business systems, etc.)?

图像有国际化需求吗?

Are there internationalization needs?

图像是否有报告需求?

Are there reporting needs?

图像涉及哪些类型的服务级别协议 (SLA)?

What kind of service-level agreements (SLAs) are involved?

图像是否存在安全隐患?该系统会对人类造成任何影响吗?

Are there any safety concerns? Does the system in any way affect humans?

图像性能问题是什么?可用性问题是什么?可扩展性问题是什么?

What are the performance concerns? Availability concerns? Scalability concerns?

图像主要逻辑组件之间是否存在自然的耦合和内聚?

Are there natural coupling and cohesion of major logical components?

图像企业是否愿意逐步为此提供资金?

Is the business willing to incrementally fund this?

图像是否存在监管问题(美国或国际)?

Are there regulatory concerns (U.S. or international)?

图像信息/服务器的放置重要吗?

Does the placement of information/servers matter?

图像你能在云端实现这个功能吗?

Can you implement this out in the cloud?

图像是否需要标准语言?是否有灵活性?

Are standard languages required? Is there flexibility?

图像是否存在未知领域?是否存在您之前未实施过的事情?这些未知领域是否只是您所在领域未知的?您的公司未知的?行业未知的?世界未知的?

Are there unknown areas? Things that you have not implemented before? Are the unknowns simply unknown to your area? To your company? To the industry? To the world?

图像是否有可以快速消除未知数的方法?

Are there quick spikes that could be done to remove the unknowns?

图像这能上演吗?

Can this be staged?

图像商业伙伴心中是否有预算?

Does the business partner have a budget in mind?

图像建筑师小组或首席建筑师是否已经签字?

Has the architect group or chief architect signed off?

如果您遵循该流程,则不太可能遇到太多问题。当人们试图理解您提出的架构时,您将面临挑战,但只要您的决策背后有详细信息和理性思考,一切都会好起来。

If you follow the process, you are unlikely to have too many issues. You are going to be challenged as people try to understand the architecture you are proposing, but as long as you have detailed information and reasoned thinking behind your decisions, it’s all good.

请记住,您是服务提供商:提供准确的答案,如果犯了错误,请承认。提供背景信息;业务驱动因素和假设可能已经合理地改变。

Just remember, you are a service provider: give accurate answers and, if you make a mistake, admit it. Give context; the business drivers and assumptions may have legitimately changed.

概括

Summary

估算之路始于

The road to estimation begins with

图像了解寻求估计的目的

Understanding the purpose of the estimate being sought

图像了解项目背景

Understanding the project context

图像了解估算过程

Understanding the estimating process

图像开发架构方法

Developing an architectural approach

图像了解估算策略和原则

Knowing the estimating strategies and principles

图像知道如何将一切整合在一起

Knowing how to bring it all together

对我来说,估算是架构师工作中最具挑战性的方面之一。学习新事物很有趣也很令人兴奋,但要在相对较短的时间内开发架构方法并准备向组织中的每个人辩护,这很有挑战性,迫使你快速思考。

For me, estimating is one of the more challenging aspects of being an architect. It is fun and exciting to learn new things, but being given a relatively short amount of time in which to develop an architectural approach and being prepared to defend it to everyone in the organization is challenging and forces you to think on your feet.

参考

References

Cohn, Mike。2004 年。《应用用户故事:用于敏捷软件开发》。Addison -Wesley。

Cohn, Mike. 2004. User Stories Applied: For Agile Software Development. Addison-Wesley.

Cohn, Mike。2005 年。《敏捷估算与规划》。Prentice Hall。

Cohn, Mike. 2005. Agile Estimating and Planning. Prentice Hall.

Hunt, Andrew 和 David Thomas。2007 年。《实用程序员:从熟练工到大师》。Addison -Wesley。

Hunt, Andrew, and David Thomas. 2007. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley.

Leffingwell,Dean。2007 年。扩展软件敏捷性:大型企业的最佳实践。Addison -Wesley。

Leffingwell, Dean. 2007. Scaling Software Agility: Best Practices for Large Enterprises. Addison-Wesley.

Leffingwell,Dean。2011 年。《敏捷软件需求:团队、项目和企业的精益需求实践》。Addison -Wesley。

Leffingwell, Dean. 2011. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley.

McConnell, Steve。1977 年。《软件项目生存指南》。微软出版社。

McConnell, Steve. 1977. Software Project Survival Guide. Microsoft Press.

第五章 管理

Chapter 5. Management

“人们认为专注意味着对你必须专注的事情说‘是’。但这并不是它的意思。它意味着对其他一百个好主意说‘不’。你必须谨慎选择。事实上,我对我们没有做的事情和我做过的事情一样感到自豪。创新就是对 1,000 件事说‘不’。”

“People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I’m actually as proud of the things we haven’t done as the things I have done. Innovation is saying no to 1,000 things.”

—史蒂夫·乔布斯

—Steve Jobs

“愿意做出决定。这是优秀领导者最重要的品质。不要成为我所说的‘准备—瞄准—瞄准—瞄准—瞄准综合症’的受害者。你必须愿意开火。”

“Be willing to make decisions. That’s the most important quality in a good leader. Don’t fall victim to what I call the ‘ready—aim—aim—aim—aim syndrome.’ You must be willing to fire.”

—T.布恩·皮肯斯

—T. Boone Pickens

“设定界限确实是时间管理的很重要的一部分。”

“Boundary setting is really a huge part of time management.”

—吉姆·洛尔

—Jim Loehr

“不冒险的人通常每年会犯两次大错误。敢于冒险的人通常每年会犯两次大错误。”

“People who don’t take risks generally make about two big mistakes a year. People who do take risks generally make about two big mistakes a year.”

—彼得·德鲁克

—Peter F. Drucker

“工作将占据你生活的很大一部分,而真正感到满足的唯一方法就是做你认为伟大的工作。而做伟大的工作的唯一方法就是热爱你所做的事情。如果你还没有找到它,那就继续寻找。不要安于现状。就像所有与心有关的事情一样,当你找到它时,你就会知道。”

“Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.”

—史蒂夫·乔布斯

—Steve Jobs

你曾经问过建筑师是否渴望成为一名“管理者”吗?“管理”这个词并不会激励大多数建筑师,也不是大多数建筑师所向往的。

Have you ever asked an architect if he or she aspires to be a “manager”? Management is not a word that inspires most architects, nor is it something that most architects aspire to.

在大多数组织中,架构师的确切角色通常没有明确定义。这个职位明确承担项目的技术责任,但也对项目的几乎所有其他方面负有部分责任。挑战在于,架构师需要介入项目其他领域的深度取决于团队的其他成员。这就是为什么架构师经常被称为粘合剂:他们填补了需要填补的地方。

In most organizations, the exact role of an architect is usually not well defined. It is a position that clearly owns the technical responsibility for projects, but it is also partially responsible for nearly all other aspects of projects. The challenge is that the depth to which an architect needs to step in on the other areas of a project is dependent on who the other members of the team are. This is why architects many times are referred to as glue: they fill in where they need to.

本章揭示了软件架构师所需的基本技能之一:管理所承担的各种职责的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to manage the wide diversity of responsibilities that are placed upon them.

架构管理定义

Architecture Management Defined

首先,坏消息是:建筑师通常被认为是“管理”的一部分。

First, the bad news: architects are usually considered part of “management.”

管理是对您直接负责的领域以及其他人认为您负责的领域的积极监督;基本上,当某些事情没有按预期进行时,您会被叫到副总裁的办公室来解释。

Management is the active oversight of the areas for which you are directly responsible and the areas for which others perceive you to be responsible; basically, the things you are going to get called into the office of a VP to explain when something doesn’t work as expected.

架构师在组织内承担着广泛而多样的职责(见图5.1)。

The role of architect has a broad and diverse range of responsibilities within the organization (see Figure 5.1).

图像

图 5.1架构责任的关键领域

Figure 5.1 Key areas of architectural responsibility

建筑责任领域

Areas of Architectural Responsibility

从架构角度来看,管理是指

Management from an architecture perspective is about

图像追求技术卓越

Striving toward technology excellence

图像交付项目

Delivering projects

图像解决问题

Resolving issues

图像与高管合作

Partnering with executives

图像管理你的时间

Managing your time

图像培养技术人才

Grooming technical talent

图像增强你的技能

Enhancing your skill set

对于建筑师来说,这些管理领域总是相互冲突。这些领域内的变化是常态;关键是要学会平衡和优先考虑这些冲突力量。

These areas of management for architects are always in contention with one another. Change is a constant within these areas; the key is to learn to balance and prioritize these conflicting forces.

追求技术卓越

Striving toward Technology Excellence

架构师是企业技术的守门人。努力追求技术卓越可以让技术组织更快地提供新功能,以更低的成本提供这些功能,随着业务的增长实现规模化,并降低维护成本。从政治角度来看,在与高管互动时,这可能更容易被视为技术可持续性。

Architects are the gatekeepers of technology for a business. Striving toward technology excellence can enable the technology organization to deliver new capabilities quicker, deliver them at a lower cost, enable scale as the business grows, and keep down maintenance costs. From a political standpoint, this may be more easily approached as technology sustainability when interacting with executives.

建立愿景

Establishing a Vision

在项目早期或理想情况下在项目开始之前,努力建立架构愿景,明确目标。即使它是错误的,它也可以指导项目,并让项目的方向具有连贯性。

Early on in a project or ideally before a project begins, work toward establishing an architectural vision of where you are trying to go. Even if it’s wrong, it can help guide projects and give a sense of coherence to the direction that is being pursued.

能够清晰地表达这一愿景不仅有助于指导该项目,还可能指导整套项目。每个项目本身可能无法实现整个愿景,但每个项目都可能有助于推动整个产品或产品套件走向理想的最终状态。

Being able to articulate this vision will help to guide not only this project, but potentially an entire suite of projects. Each project on its own may not be able to deliver the entire vision, but each may be able to help move the overall product or product suite toward an ideal end state.

提高对技术债务的认识并为正确的解决方案提供资金

Raising Awareness of Technical Debt and Funding the Right Solution

架构是项目中的一项积极责任。您不能只是设定方向然后袖手旁观。架构师需要积极参与,帮助平衡业务的当前需求(通常是快速完成)与对所做投资的长期认识(正确行事)(见图5.2)。

Architecture is an active responsibility within a project. You don’t just set the direction and stand back. Architects need to be actively engaged to help balance the immediate needs of the business (usually, getting it done quickly) with the long-term awareness of the investments being made (doing it right) (see Figure 5.2).

图像

图 5.2平衡技术需求和业务需求。

Figure 5.2 Balance the needs of technology and the needs of business.

大多数项目在开始时都有战略意图,但由于最后期限和预算限制,随着项目接近交付,考虑的战略选项会减少。务实地平衡需要认真考虑哪些选项不仅对于按时按预算交付项目至关重要,而且对于项目为下一组项目创造可利用资产的能力也至关重要。随着项目的进展,关键是避免不必要地限制项目或产品已知或可能的下一阶段的设计决策。

Most projects start out with strategic intentions but, due to deadlines and budgetary constraints, consider less strategic options as the project moves closer to delivery. This pragmatic balancing of what options are to be seriously considered is crucial not only for delivering projects on time and on budget, but also for the ability of the projects to create leverageable assets for the next set of projects. As a project progresses, the key is to avoid design decisions that will unnecessarily limit known or likely next phases for a project or product.

目标几乎始终是实现技术卓越。

The goal should nearly always be enabling technical excellence.

您需要意识到,在建筑社区中允许破损的窗户越多,就越能开创出破损窗户是可以接受的先例。

You need to be aware that the more broken windows you allow in the architectural neighborhood, the more it will set a precedent that broken windows are acceptable.

如果有正当理由不采用正确的技术方法,则需要透明地做出决定。它使关键利益相关者能够接受所采取的方向,并为所有参与人员设定对工作和实施短期和长期解决方案所需资金的期望。尽最大努力避免留下技术债务,而没有资金来解决它。

If there are valid reasons for not taking the right technical approach, the decision needs to be made transparently. It enables key stakeholders to buy into the direction being taken and level-set expectations for everyone involved about the work and the funding that will be required to do both a short-term and a long-term solution. Do your best to avoid leaving technical debt with an unfunded path to fix it.

保持技术环境​​的有趣

Keeping the Technical Environment Interesting

让技术人员保持参与和学习是留住人才的最佳方法之一。尽管他们很可能不会向你汇报,但找到以不间断的方式融入新技术和方法的方法自然会保持大多数技术人员的参与度。

Keeping the technical staff engaged and learning is one of the best ways to help with retention. Although they most likely do not report to you, finding ways to incorporate new technologies and approaches in a nondisruptive fashion will naturally keep up the level of engagement for most technologists.

其中大部分的挑战在于时间安排。大多数项目中都有自然的时间点来整合新事物(通常在项目开始时或新版本发布时)。关键是要确保您有足够的时间从任何意外问题中恢复过来,并限制一次引入的更改数量。如果变化太多,找出出现问题的根本原因可能非常困难。

The challenge in most of this is timing. There are natural spots within most projects to incorporate new things (usually near the beginning of the project or the start of a new release). The key is to ensure that you have a sufficient amount of time to recover from any unexpected issues and to limit the number of changes that are introduced at one time. If too many things are changing, it can be very challenging to figure out the root causes of issues that are surfacing.

与往常一样,对所做的事情保持透明将有助于让每个人都达成共识,并有助于避免未来的冲突。

As always, being transparent about what you are doing will help keep everyone on the same page and help to avoid future conflicts.

寻找潜在专利

Finding Potential Patents

您是否曾与法律部门讨论过您在设计中追求的有趣想法?是否应该申请专利?是否应该申请临时专利?

Have you engaged the legal department about any interesting ideas that you are pursuing for your design? Are there patents that should be filed? Are there provisional patents that should be applied for?

保护企业的关键技术资产可以创造相对于竞争对手的战略优势。随着新项目进入您的建筑工作组合,每季度或每半年与专利律师会面一次,以审查新的想法和方法。他们通常会了解您的新颖设计方法是否可以申请专利,以及该想法是否属于公司想要投资专利保护的领域。

Protecting your business’s key technology assets can create a strategic advantage over your competitors. As new projects come into your portfolio of architecture work, meet quarterly to semiannually with the patent attorneys to review new ideas and approaches. They will usually have a sense of whether your novel design approach is patentable and if the idea is in an area where the company wants to invest in patent protection.

我发现最好的方法就是定期与专利律师坐下来,描述我正在从事的项目。他们通常熟悉整个专利组合,知道什么是有趣和独特的。如果他们对某个特定领域感兴趣,我们会更详细地讨论。如果他们遇到真正有趣的东西,他们通常会离开几周,然后回来考虑为它申请专利。关键是在技术方法的细节广为人知之前进行这些对话。一旦律师决定继续前进,我通常会花很多时间审查文件和所有细节,以确保专利的范围、语言和图表都合适。看看律师如何描述你正在做或已经做过的工作总是很有趣的。

The best approach I have found is to simply sit down on a regular basis with the patent attorneys and describe the projects I am working on. They usually are familiar with the overall patent portfolio and have a sense of what is interesting and unique. If they show interest in a particular area, we will dive into more detail. If they run into something truly interesting, they will usually go off for a few weeks and return if they want to consider filing a patent for it. The key is to have these conversations before the details of the technology approach are broadly known. Once the attorneys have decided to move forward, I usually spend many hours reviewing the documents and all of the details to ensure that the appropriate scope, language, and diagrams are in place for the patent. It’s always interesting to see how lawyers describe the work you are doing or have done.

寻求数据中心和运营支持

Seeking Data Center and Operations Support for Your Direction

当您寻求向组织注入新技术和新功能时,您需要确保最终产品已做好运营准备。尽早花时间与数据中心和运营团队合作,让他们知道您的发展方向,可以建立合作伙伴关系,以找到正确的解决方案,并确保为他们提供正确的工具和培训,以便他们开展工作。

As you seek to inject new technologies and capabilities into the organization, you need to ensure that the end product is operationally ready. Taking the time to work with data center and operations teams early on and letting them know the direction you are taking can establish a partnership for finding the right solution and for ensuring that the right tools and training are in place for them to do their work.

例如,您要引入的新数据库技术是否支持您的架构风格所依赖的多站点、多主复制?新工具和技术是否具有适当的日志记录、监控和警报功能,以使运营团队能够在半夜快速诊断出问题所在(或者您想接到电话并通过传呼机进行联系)?

For instance, does the new database technology you are looking to introduce support the multisite, multimaster replication that your architectural style is dependent on? Do the new tools and technologies have the appropriate logging, monitoring, and alerting features to enable the operations team to quickly diagnose where there are issues in the middle of the night (or do you want to get that call and be on a pager)?

与运营部门的这种合作有助于在您匆忙发布之前发现可能有助于推动供应商决策、供应商支持、供应商产品变更和配置标准的问题。尽早与运营团队合作有助于审查可能最终决定您的项目是否成功的问题。

This partnership with operations can help identify issues that may help drive vendor decisions, vendor support, vendor product changes, and configuration standards before you are rushing toward a release. Partnering early on with the operations team can help vet issues that may ultimately determine if your project is successful.

解决方案的推广

Generalizing the Solution

通常可以创建更通用的解决方案。如果这是可能的,并且还有其他可能的情况可以利用更通用的解决方案,请强烈考虑将其作为实施路径。通用解决方案可以通过减少需要创建和随后维护的软件数量来帮助公司长期节省资金。

There is often a more general form of a solution that can be created. If this is possible and there are other likely scenarios that leverage the more generalized solution, strongly consider this as the implementation path. Generalized solutions can help save the company money in the long term by reducing the amount of software that needs to be created and subsequently maintained.

使其具有战略性

Making It Strategic

如果有明确的战略解决方案,您应该努力实施该解决方案。很少有人会像描述的那样真实地公布交付日期。有时,只需多花点时间并采用正确的解决方案,就可以避免以后进行大规模重构,让您能够完成功能,而不是增加技术负担。

If there is a clear strategic solution, you should work hard to put that solution in place. It is rare that the dates that are being bandied about for delivery are as real as they are portrayed. Sometimes just taking that extra time and putting in the right solution can save you from a massive refactor later on and let you be done with the capability instead of adding technical debt.

如果根本无法实施战略解决方案,请花时间仔细考虑采取的战略解决方案方法,并尽量避免在将来实施时设置不必要的障碍。

If it simply is not possible to put the strategic solution in place, take the time to think through the approach you would take for the strategic solution and try to avoid putting in unnecessary roadblocks to implementing it in the future.

利用解决方案

Leveraging Solutions

软件社区中很少有事情是以前没有做过的。花点时间研究一下现有的解决方案。如果有机会省钱,企业是否愿意调整其需求以匹配现有解决方案?

It is rare in the software community that something hasn’t been done before. Take the time to investigate what existing solutions are available. Is the business willing to adjust its requirements to match an existing solution if there is an opportunity to save money?

利用解决方案可能并不总是一件很酷或有趣的事情,但它会提高企业对您的信任度,并使企业能够以其他方式投资节省的资金。

Leveraging solutions may not always be the cool or fun thing to do, but it will raise the business’s level of trust in you and enable the business to invest the money saved in other ways.

交付项目

Delivering Projects

项目是任何技术组织的命脉。组织能否及时、经济高效地交付项目是其成功的关键。

Projects are the lifeblood of any technology organization. The organization’s ability to deliver projects in a timely and cost-effective manner is essential for its success.

与项目经理合作

Partnering with the Project Manager

成功推动项目的最佳方法之一是与项目经理合作。项目经理通常负责传达与项目相关的官方信息、协调多个领域的资源以及监督需要完成的工作的时间表。

One of the best ways to successfully drive projects is to partner with the project manager. Project managers are usually in charge of delivering the official communications with respect to the project, coordinating resources across multiple areas, and overseeing the schedule of the work that needs to be accomplished.

通过与项目经理合作,您可以共同确保

By partnering with the project manager, you can join forces to ensure that

图像传递给利益相关者的信息与您的沟通一致,尤其是在出现问题时

The messages that are being delivered to the stakeholders are consistent with your communication, especially when issues arise

图像根据关键依赖关系对项目工作进行优先排序

The work on the project is prioritized according to key dependencies

图像合适的人在合适的时间从事你的项目

The right people are working on your projects at the right time

彻底消除依赖关系

Eliminating Dependencies Ruthlessly

任何项目中最难管理的事情之一就是依赖关系。当您在架构、项目和代码中遇到依赖关系时,请学会毫不留情地攻击它们。依赖关系越少,您就越有可能掌控自己的命运(见图5.3)。

One of the hardest things to manage on any project is dependencies. As you encounter dependencies in your architecture, your projects, and your code, learn to attack them ruthlessly. The fewer dependencies you have, the better shot you have at being in control of your own destiny (see Figure 5.3).

图像

图 5.3坚决消除依赖关系;它们往往会限制您交付项目的能力。

Figure 5.3 Be ruthless about eliminating dependencies; they often constrain your ability to deliver projects.

然而,有时依赖关系是有意义的,例如,

However, there are times when dependencies make sense, for instance, when

图像消除依赖关系的投资远高于维持依赖关系所需的时间、预算或资源投入

The investment to eliminate the dependency is much higher than incurring the time, budget, or resource hit necessary to keep it

图像依赖项带来的功能或能力对于项目至关重要,并且没有合理的替代方案

The functionality or capability that the dependency brings is essential to the project, and no reasonable alternatives exist

管理期望

Managing Expectations

从技术角度来看,我们很容易被新技术和新方法的诸多优点所吸引。但问题是,我们很容易过度炒作和过度承诺将这些东西添加到项目中会取得什么成果。

From a technology perspective, it is easy to get caught up in all of the great qualities that surround new technologies and new approaches. The challenge is that it is easy to overhype and overpromise what adding these things to a project will accomplish.

作为一名架构师,你需要管理期望,并确保在销售某些技术解决方案时,在项目中留有空间,以便出错。此外,你需要确保你有足够的时间和资源来完成并实现你所承诺的所有巨大价值。

As an architect, you need to manage expectations and ensure that as you sell certain technology solutions you have left room in the project for things to go wrong. In addition, you need to ensure that you will have enough time and resources to work through and deliver all of the great value that you promised.

掌握开发流程

Mastering the Development Process

尽管架构师可能不是每天都在项目中开发代码,但人们期望他们掌握整个开发过程。(有关开发过程周期,请参见图5.4。)

Although architects may not be developing code every day on a project, there is an expectation of mastery of the overall development process. (For the development process cycle, see Figure 5.4.)

图像

图 5.4 Scrum:找到一个对技术和业务都有效的流程。

Figure 5.4 Scrum: find a process that is effective for both technology and the business.

建筑师应该参与确定

Architects should be involved with determining

图像将使用什么方法——敏捷、精益、看板或其他

What methodology will be used—agile, Lean, Kanban, something else

图像将使用哪些开发工具

What development tools will be used

图像如何构建、部署和测试系统

How the system will be built, deployed, and tested

图像估算、构建和测试期间将涉及哪些开发团队

What development teams will be involved during estimating, build, and testing

图像系统的核心用例(史诗)应该是什么

What the core use cases (epics) of the system should be

架构师应积极参与确定整个软件开发生命周期、相关工具及其执行。通过积极参与,技术将能够更好地与业务需求保持一致,并更好地实现整体成功。

Architects should be actively involved in determining the overall software development life cycle, its associated tools, and its execution. By being actively involved, technology will be able to be better aligned with the needs of the business and better aligned for overall success.

身处问题所在

Being Where the Problems Are

一般来说,作为一名架构师,如果项目某个领域进展顺利,你通常不会对这个领域太挑剔。相反,项目中遇到困难或存在重大问题的领域可以从你的领导能力和解决问题的能力中受益。通过介入并解决存在最多问题的领域,你可以帮助消除障碍,提供替代方法,并让团队与他们遇到问题的领域的专家建立联系。

Generally speaking, as an architect, if things are going well in a certain area of the project, you are usually not as critical to that area. In contrast, the areas of the project that are struggling or having significant issues can benefit from your leadership and problem-solving skills. By jumping in and working in the areas that have the most problems, you can help remove roadblocks, provide alternative approaches, and connect the team with others who are experts in the areas where they are having issues.

如果遇到了真正威胁到项目的问题,当高管想要深入了解并了解更多问题所在时,您将对情况有第一手的了解。

If truly project-threatening issues are being encountered, you will have firsthand knowledge of the situation when the executives want to dive in and learn more about what is going wrong.

意识到项目的不透明度

Being Aware of Nontransparency on Your Projects

作为一名建筑师,你不可能同时出现在所有地方。在某个时候,你别无选择,只能相信别人在做什么。挑战在于,决策总是在由你直接或间接负责,即使你不在场,你也要承担责任。

As an architect, you can’t be everywhere at once. At some point, you have no choice but to trust what others are doing. The challenge is that decisions are being made all the time that are directly or indirectly your responsibility, and even if you are not there, you will be held responsible.

在做出这些决定时,如果你能及时了解这些决定,通常就不会有问题。如果事情变糟,你至少有机会纠正方向,或者有足够的回旋余地来调整方向。然而,有些人真的想做决定,却不愿意就像您可能做出的决定一样。他们可能会选择在没有您参与的情况下做出决定,并且只有在他们无法理解时才让您参与。这可能会或可能不会成为一个问题,但如果您必须定期纠正或介入并挽救某些技术主管的决定,您需要首先与个人解决这个问题。如果这不起作用,您需要与他们的管理层进行接触。如果您让这些情况继续下去,您的声誉可能会受到威胁。

As these decisions are being made, it is usually not an issue if you learn about them in a reasonably timely manner. You at least have an opportunity to correct course or have enough wiggle room to adjust course if things go south. However, some people really want to make the decisions and won’t like the decision you are likely to make. They may choose to make a decision without your involvement and include you only when they get in over their heads. This may or may not become an issue, but if you have to routinely correct or jump in and rescue certain tech leads’ decisions, you need to address this first with the individuals. If that is not effective, you need to engage their management. If you let these situations slide, your reputation is potentially at stake.

限制担任领导职务的合同工数量

Limiting the Number of Contractors in Leadership Positions

承包商是帮助项目人员获得缺少的技能、帮助填补项目所需工作量的空白以及帮助项目快速推进的重要资源。问题是承包商最终会离开并继续前进。如果您的关键领导职位上有承包商,当他们离开时,您可能会对该领域的长期知识产生空白,可能会对某些决策的原因缺乏理解,并且可能会留下一个不必要地偏向最新和最伟大技术的系统,因为承包商需要为下一份工作做准备。

Contractors are great resources to help staff projects with skills that are missing, to help fill a bubble in the amount of work needed on a project, and to help get a project moving quickly. The challenge is that contractors eventually leave and move on. If you have contractors in key leadership positions, when they leave, you may have a void in your long-term knowledge of that area, may encounter a lack of understanding as to why certain decisions were made, and may be left with a system that is unnecessarily biased toward the latest and greatest technologies due to the contractors’ needing to prep for their next gig.

大多数承包商都做得很好,但让员工在项目中担任领导职务会有所帮助

Most contractors do an excellent job, but having employees in leadership positions on a project helps

图像培训员工了解做出某些设计决策的原因

Train the employees on why certain design decisions were made

图像平衡业务领域需求与技术决策

Balance business domain needs with technology decisions

图像随着承包商数量的减少和流动,保持项目的长期连续性

Maintain the long-term continuity of the project as the number of contractors ebbs and flows

我见过的项目(幸好不是我的项目)有超过 75% 的合同工,其中许多人担任领导职务。这些项目结果并不好。我通常喜欢项目中 10% 到 20% 的员工是合同工。他们通常会带来不同的技术方法视角,拥有更广泛的经验,可能拥有你没有的技能,并且通常不惧怕进入未知领域。

I have seen projects (fortunately not mine) with over 75% contractors, including many in leadership positions. Those projects didn’t turn out well. I usually like to have 10% to 20% of the staff on a project be contractors. They typically bring in a different perspective on technology approaches, have a broader set of experiences, may have skill sets that you don’t have, and generally have a lack of fear of jumping into unknown areas.

提供技术管理(责任范围)

Providing Technical Management (Areas of Responsibility)

架构师负责项目和平台的技术方面。架构师的主要职责包括:

Architects are responsible for the technical aspects of projects and platforms. Some of the chief areas of responsibility for architects are

图像管理和传达技术方向和架构方法

Managing and communicating technical direction and architectural approach

图像管理和传达系统边界

Managing and communicating system boundaries

图像管理组间技术依赖关系

Managing technical intergroup dependencies

图像与数据中心合作进行硬件采购和配置

Working with the data center on hardware acquisition and configuration

图像与采购部门合作,处理许可和其他销售需求

Working with procurement and sourcing on licensing and other vending needs

图像审查并帮助制定商业案例估算

Reviewing and helping develop business case estimates

图像帮助识别和管理项目风险和问题

Helping identify and manage project risks and issues

图像制定重要的架构规则/原则

Establishing the big architectural rules/principles

图像监督承包商和其他建筑师

Overseeing contractors and possibly other architects

图像向高管和其他管理人员传达与建筑相关的事项

Communicating architecture-related items to executives and other management

图像与业务和技术部门紧密合作

Working closely with both the business and technology

图像与开发团队紧密合作

Working closely with development teams

图像确保适当的项目管理和监督,包括标准、指南、评审、设计原则和设计质量

Ensuring proper project governance and oversight, including standards, guidelines, reviews, design principles, and design qualities

图像确保用户数据的隐私和安全

Ensuring the privacy and security of user data

图像确保系统“功能性”(非功能性需求)得到妥善处理

Ensuring that system “-ilities” (nonfunctional requirements) are properly addressed

图像确保遵守正确的开发生命周期

Ensuring proper development life-cycle adherence

图像领先尖峰和其他技术调查

Leading spikes and other technical investigations

图像与项目管理部门合作,制定预算、时间表、时间安排和资源需求

Working with project management to work through budgets, schedules, timelines, and resource needs

图像领先的项目软件和硬件选择

Leading software and hardware selection for projects

图像与测试机构紧密合作,满足各种测试需求

Working closely with the testing organization for various testing needs

架构师的目标是为项目提供技术管理,并确保软件符合业务目标和适当的技术水平。

The goal of architects is to provide technical management for projects and ensure that the software aligns with business goals and an appropriate level of technical excellence.

走动式管理

Managing by Walking Around

成功交付项目的最佳方法之一是通过走动进行管理。这种与人会面并处理当下事务的简单行为不仅可以让项目进展迅速,还可以让您更好地了解项目中需要立即解决的真正问题。

One of the best ways to successfully deliver projects is to manage by walking around. This simple act of meeting people and dealing with items in the moment not only keeps things moving quickly within the project, but it gives you a better sense of the real items that need to be addressed immediately within a project.

在一对一的环境中,几乎每个人都会感到自在,可以表达自己的担忧或提出问题,而在群体中,他们可能感觉不自在。这种信息需求的短路有助于让您和您的团队保持高效。

In a one-on-one setting, nearly everyone feels comfortable expressing concerns or asking questions, whereas they may not feel comfortable within a group. This short-circuiting of information needs helps keep both you and your team highly effective.

走访式管理包括定期拜访并与与项目相关的每个人(包括高管)交谈。对我来说,无需预约就拜访并交谈有助于建立良好的关系,并且比我能做的几乎任何其他事情都更能了解项目的脉搏。

Managing by walking around includes stopping by and talking to everyone related to the project, including executives, on a regular basis. For me, just stopping by without an appointment and talking helps build good relationships and gives a much better sense of the heartbeat of the project than nearly anything else I can do.

通过走动来管理是打发会议间隙或需要离开办公桌一段时间时的好方法。这种活动可以帮助我克服可能遇到的障碍,或者帮助我快速找到答案,如果通过电子邮件处理这些问题,可能需要几个小时或几天的时间。

Managing by walking around is a great way to fill in some of the time between meetings or when I just need to get away from my desk for a while. This movement helps me get past roadblocks that I may be encountering or helps me quickly track down answers that could take hours or days if they were dealt with through e-mail.

解决问题

Resolving Issues

建筑师日常的主要职责之一就是解决项目中的问题。

One of the chief responsibilities of an architect on a daily basis is to resolve issues on projects.

提出尖锐问题

Asking the Tough Questions

在每个项目中,总会有一些领域是每个人都想避开的,无论是出于政治环境还是为了避免冲突。作为一名建筑师,你有责任提出棘手的问题,并提出问题,以便能够解决这些问题。

On every project, there are always areas that everyone wants to shy away from due to either the political environment or a desire for conflict avoidance. As an architect, you are responsible for asking the tough questions and raising the issues so that they can be dealt with.

在解决问题时,避免发表声明;相反,要将你要寻求的东西设计成一系列问题。这种方法可以让你避免假设信息是事实,并允许开始讨论。花点时间根据你问这些问题的背景来限定问题。这可以帮助缓解一些政治紧张局势。这些问题还可以引导参与讨论的人接受他们过去可能没有考虑过的其他替代方案。

As you address issues, avoid making statements; instead, craft what you are seeking as a series of questions. This approach allows you to avoid presuming information to be factual and allows for a discussion to begin. Take time to qualify the questions with the context of why you are asking them. It can help defuse some of the political tensions. The questions can also lead the people who are involved with the discussion to open up to other alternatives that they may not have considered in the past.

目标是扫清障碍,让整个项目保持透明。这并不总是能让每个人都感到满意,但它能让人们出色地完成工作,并为项目中的每个人设定一个合理的期望。

The goal is to clear a path so that obstacles can be removed and transparency can exist throughout the project. This won’t always make everyone comfortable, but it will enable people to do excellent work and level-set expectations for everyone on the project.

处理当下的问题

Dealing with Problems in the Moment

当其他人都不愿意时,建筑师需要跳出来解决这个显而易见的问题。你要么现在就处理它,要么以后再出现;而且以后处理起来可能会更痛苦。

Architects need to jump in and address the elephant in the room when no one else is willing to. You either get to deal with it now or it will surface later; and later on, it will likely be more painful to deal with.

建筑师需要深入研究细节。

Architects are expected to get down into the details.

学会在当下处理问题有两个主要好处。第一,要处理的事情积压时间会缩短。第二,没有人会认为你不作为就间接认可了事情的发展方向或进程。这也发出了一个明确的信息,即问题将得到及时处理。

Learning to deal with problems in the moment helps in two key ways. One, the backlog of things to deal with stays short. Two, no one will take inaction as your indirect approval for the direction or course that things are on. It also sends a clear message that issues will get dealt with promptly.

处理当下的冲突会迫使你变得脸皮厚。

Dealing with conflicts in the moment will force you to have thick skin.

说“不”,但有选择

Saying No, but with Options

没有人喜欢听到“不”的回答。如果可能的话,更好的方法是说“这是可以接受的替代方案”(见图5.5)。这允许对方对所选择的方向有一定的控制权和发言权。这自然也有助于获得认同。这个人可能得不到他或她的第一选择,但至少能够参与。

No one likes to hear “no” in answer to a request. A better approach, if possible, is to say, “Here are the acceptable alternatives” (see Figure 5.5). This allows the other party to have some control over and say in the direction that is chosen. It also naturally helps with buy-in. The person may not get his or her first choice but at least was able to participate.

图像

图 5.5不要只是说不;要提供选择。

Figure 5.5 Don’t just say no; give options.

这会增加您的工作量,但也会迫使您解决请求中的实际问题,并确定哪些其他替代方案可行,以实现相同或相似的目标。如果没有替代方案,至少可以更深入地讨论决策背后的理由,并允许您解释考虑了哪些替代方案以及为什么它们行不通。

This puts more work on you, but it also forces you to work through the real issues with a request and determine what other alternatives are plausible that can achieve the same or similar objectives. If alternatives are not possible, it at least makes for a more in-depth conversation as to the rationale behind the decision and allows you to explain what alternatives were considered and why they won’t work.

这些选项也可能是引入更好的整体选择的一种方式。这可能需要一些说服力,但最好保持对话的开放,而不是疏远未来可能需要合作的人。

The options may also be a way to introduce a better overall option. It may take some convincing, but it is best to keep the door open to some dialogue as opposed to alienating someone you are likely to need to work with in the future.

大多数人都愿意接受回复背后的详细而认真的思考。如果不愿意,而且你受到质疑,你应该有一个可以辩护的立场。

Most people are willing to accept detailed and conscientious thought behind a response. If not, and you are challenged, you should have a defensible position.

努力保持一致的决定

Striving to Be Consistent in Your Decisions

作为架构师,您做出的决策会影响很多人。通常需要花费一些时间来确保每个人都了解项目的架构方法、假设是什么以及风险和依赖关系是什么。

The decisions you make as an architect affect many people. It usually takes time to ensure that everyone understands what the architectural approach is for a project, what the assumptions are, and what the risks and dependencies are.

随着项目的进展,您总会了解到有关该项目的新信息,如果您一开始就知道这些信息,您就会选择一条略有不同的路径。

Invariably as the project progresses, you learn new information about the project, information that if you knew it at the outset would have caused you to pick a slightly different path.

作为一名架构师,面临的挑战是要非常谨慎地权衡方向的改变。如果当前方向符合业务需求,并且改变方向在实际成本或沟通和现有计划的变更方面会很昂贵,那么最好保持当前方向。

The challenge as an architect is to weigh a change in direction very carefully. If the current direction meets the business needs and changing direction will be costly in real terms or in terms of communication and alteration of existing plans, it is usually best to keep the current course.

想想你本可以做些什么来更早地了解这些信息。无论你做什么,无论你遵循什么流程,任何时候可用的信息都是有限的,你需要做出最好的决定并执行。

Think about what you could have done to learn this information earlier. No matter what you do and no matter what process you follow, there is only so much information available at any given time, and you need to make the best decision you can and execute.

如果确实需要改变方向,请确保受此变化影响的高管和领导层都同意这一做法。

If you do have to change direction, ensure that the executives and those in leadership who are affected by the change are on board.


记住

Remember

高管们讨厌意外。不要让别人告知他们你正在做出的方向变化。亲自告诉高管们并确保他们同意。

Executives hate surprises. Don’t let someone else inform them of changes in direction you are making. Tell the executives yourself and ensure that they are on board.


使用执行验证作为决策门槛将有助于避免您在决策上犹豫不决。

Using executive validation as a decision gate will help keep you from waffling on your decisions.

学会正面处理事情,把牌面朝上

Learning to Deal with Things Head-on, Cards Faceup on the Table

建筑师通常时间非常有限。处理问题、谈判、销售或解决一般问题时,最好的方法通常是直截了当。

Architects usually have very limited amounts of time. When it comes to dealing with issues, negotiating, selling, or general problem solving, the best approach is normally to be straightforward.

把牌面朝上放在桌子上可以给你带来很大的灵活性。与你打交道的人知道发生了什么,知道你是真诚的,也知道你是认真的。

Putting your cards on the table faceup gives you a lot of flexibility. The person you are interacting with knows what is going on, knows that you are acting in good faith, and knows you mean business.

当你学会以这种方式工作时,你不必担心向不同的人讲述不同的故事;你的故事总是相同的。这为你带来了一个明显的优势:其他人可以看到你的牌,而且出牌的方法只有这么多。他们也知道你知道他们出牌的方法只有这么多。

When you learn to work in this manner, you don’t have to worry about having told different people different stories; your story is always the same. This gives you a distinct advantage: others can see your cards and there are only so many ways to play the hand. They also know that you know there are only so many ways they can play their hand.

因为你一开始就是本着善意行事,所以他们更有可能以类似的方式行事。

Since you have acted in good faith to begin with, they are more likely to operate in a similar manner.

诚信行事,你就会赢得别人的尊重。

Act with integrity, and you will earn the respect of others.

了解谈判时你愿意让步什么

Knowing What You Are Willing to Cave On When Negotiating

建筑师必须尽早学会谈判;在项目中能够做出让步和接受是成功的关键。关键是要知道什么对你来说至关重要,什么不那么重要。当你与企业或其他业务部门谈判时,你必须知道哪些方面是不可谈判的。另一方面,如果你绝对必须在某项事务上做出让步,你需要提前知道你愿意放弃什么才能就决策达成共识。

Architects have to learn to negotiate early on; it is essential to success to be able to give and take on a project. The key is to know what is critically important to you and what is less important. As you negotiate with the business or with other business units, you have to know what areas are non-negotiable. On the other hand, if you absolutely have to give on one item, you need to know in advance what you are willing to give up to reach consensus on a decision.

愿意(尊重地)挑战你不同意的领域

Being Willing to Challenge Areas You Don’t Agree with (Respectfully)

在会议期间,当你在为某个特定领域寻找解决方案时,你需要愿意挑战那些你不同意的即将做出的决定。你可能会惊讶地发现,许多其他人分享您的担忧,但谨慎表达异议。您有责任向企业表达您的担忧 — 不是为了转移话题,而是为了确保做出正确的决定。

During meetings when you are working toward a solution in a particular area, you need to be willing to challenge decisions that are about to be made when you don’t agree with them. You may be surprised that many others share your concerns but are being cautious about voicing dissent. You owe it to the business to make your concerns known—not to derail the conversation, but to make sure that the right decisions are made.

最好先在团队内部提出棘手的问题,因为当高管审查解决方案时,你可以肯定他们会问同样的问题。如果你没有一个可靠的答案来解释为什么没有考虑某些选项,那么你就会遇到一些非常不高兴的高管。这种缺乏彻底性的回答会削弱高管对你和你的团队的信任。

You are almost always better off asking the tough questions within your group first because when the solution is reviewed by executives, you can be assured that they will ask the same questions. If you don’t have a solid answer as to why some option wasn’t considered, you will have some very unhappy executives on your hands. This lack of thoroughness will erode the trust executives have in you and your team.

愿意坚持自己的立场

Being Willing to Stand Your Ground

作为一名架构师,如果你真的相信某件事是错误的方向或正确的方向,你需要坚持自己的立场,为你所相信的东西而战,即使这只是一种直觉。其他人需要能够充分地论证他们的立场,以说服你改变。如果你需要向管理层提出这个问题以获得决定性的投票,这是一条可以接受的途径,尽管根据我的经验,你们最好自己解决这个问题。你很少会对高管的决定感到满意。

As an architect, if you truly believe that something is the wrong direction or the right direction, you need to stand your ground and fight for what you believe in, even if it’s just a gut feeling. Others need to be able to adequately argue their positions well enough to convince you to change. If you need to raise the issue up to management to get a tie-breaking vote, that is an acceptable path, although in my experience, you are better off resolving it among yourselves. You will rarely be happy with the executive’s decision.

知道什么不是你的问题

Knowing What Is Not Your Problem

有时,正在进行的斗争并不是你的斗争。尽管你可能对某件事有意见,但如果这真的不是你的问题,而且其他人没有邀请你参与辩论,那么让他们自己解决问题通常是正确的做法。如果他们想要你的意见,他们会要求的。

There are times when the fight that is being fought is not your fight. Although you may have an opinion on the matter, if it is truly not your issue and the others have not invited you into the debate, letting them work it out themselves is usually the right path. If they want your opinion, they will ask for it.

与高管合作

Partnering with Executives

高管在任何组织中都扮演着至关重要的角色。他们依靠信任而成长,并且强烈需要了解组织的脉搏。确保您和高管取得成功的最佳方法之一就是成为合作伙伴。

Executives play a critical role within any organization. They thrive on trust and have a strong need to have a finger on the pulse of the organization. One of the best ways for you to ensure success for both you and the executives is to become partners.

通过透明度管理风险

Managing Risk through Transparency

管理项目风险的最佳方法之一是对高管完全透明地处理风险。在项目开始前以及整个生命周期中,让高管及时了解风险对于您的成功至关重要。

One of the best ways to manage risk on a project is to approach the risks with complete transparency to executives. Before a project begins and throughout its life cycle, keeping executives up to speed on risks is critical to your success.

一旦您得知重大新风险或已知风险发生变化,您需要立即将其提请高管注意。这将给他们最大的时间来做出反应并在他们认为必要时“提供帮助”。

As soon as you know about a major new risk or a change to a known risk, you need to bring it to the attention of the executives. This will give them the maximum amount of time to react and “help” if they think it is necessary.

在几乎没有机会改变结果的情况下才延迟通知高管风险,不会得到积极的处理,而且会降低他们对你的信任。

Giving executives late notice of a risk when there is little or no chance of changing the outcome will not be dealt with positively and will reduce their trust in you.

审查估算

Reviewing Estimates

在将项目的估算广泛分发给组织之前,请确保您所在地区的高管有机会对其进行权衡。他们可能知道提议的项目需要考虑的其他因素、假设和风险。

Before estimates for a project are widely distributed to the organization, make sure that the executives over your area have had a chance to weigh in on them. They may know of other factors, assumptions, and risks that need to be considered for the project that is being proposed.

通过提前与高管一起审查估算,您可以让他们有机会确保项目与组织的目标以及您可能不知道的任何最新发展保持一致。项目是组织对资源的承诺,它们需要与高管的思维过程保持一致。

By reviewing the estimates with the executives in advance, you give them a chance to ensure that the project is aligned with the organization’s goals and any recent developments that you may be unaware of. Projects are a commitment of resources by the organization, and they need to be aligned with the executives’ thought processes.

与往常一样,您最不想做的事情就是公开向高管透露他们不知道的信息(即估算的细节),尤其是当他们开始对估算提出澄清问题时。

As always, the last thing you want to do is publicly surprise executives with information (i.e., the details of the estimate) that they were unaware of, especially when they begin to get questions about the estimate for clarification.

限制图表上的框数

Limiting the Number of Boxes on Diagrams

在向高管展示架构时,通常最好省去架构图的细节,只给出架构的极高层次视图,最好将其保持在图表上的四五个框内。简化的图表将让他们了解关键组件。如果他们想要更多细节,他们可以随时提出要求。

When presenting architectures to executives, you are usually better off leaving out the details of architectural diagrams and giving an extremely high-level view of the architecture, ideally keeping it to four or five boxes on the diagram. A simplified diagram will give them a sense of the key components. If they want more detail, they can always ask for it.

将此图视为一次建筑电梯演讲——可以在不到两分钟的时间内解释清楚。

Think of this diagram as an architectural elevator speech—something that can be explained in less than two minutes.

提高技术意识

Raising Technology Awareness

作为一名架构师,你的部分工作是让高管和管理层了解技术情况。这更多地是关于行业的发展方向、正在发生的主要趋势,以及你如何使用与 CIO Hype Cycles 或行业杂志中提到的主要趋势相关的技术。

Part of your job as an architect is to keep executives and management briefed on technology. This is more about where the industry is going, what key trends are occurring, and how you are using technology that relates to key trends that would be mentioned in the CIO Hype Cycles or trade magazines.

您还希望管理人员及时了解其他团队在技术进步方面所做的事情。一旦另一个团队引入了新技术,您所在地区引入相同技术的可能性就会大大增加,因为该技术的操作方面已经得到解决。

You also want to keep the management staff up to speed on what other groups are doing with respect to technology advancement. Once another group introduces new technologies, the odds of being able to introduce the same technologies in your area can increase significantly because the operational aspects of the technology have already been addressed.

获得老板的支持

Having Your Boss’s Back

在几乎所有情况下,你都应该努力在方向和界限方面维护老板的立场。如果有人质疑你老板的选择,你需要为老板辩护。你可能并不总是 100% 同意老板的意见,但当他或她不在场时,你需要保持相互信任。如果你对老板的立场有异议,你应该直接向老板提出。如果你无法改变他或她的想法,你需要忍受并成为老板立场的拥护者。这样做也会让其他人知道你诚实地尊重组织的意愿。

In nearly every situation, you should work toward advocating for your boss’s positions in terms of direction and boundaries. If someone is challenging your boss’s choices, you need to come to your boss’s defense. You may not always agree 100% with your boss, but when he or she is not present, you need to maintain your mutual trust. If you have issues with your boss’s positions, you should take them up with your boss directly. If you fail to change his or her mind, you need to suck it up and be an advocate for the boss’s position. Doing so will also let others know that you act with integrity with respect to your organization’s wishes.

避免打断高管的谈话

Avoiding Interrupting Executives When They Are Talking

大多数高管在讲话时都对被打断非常敏感。当他们讲话时,请稍等片刻,不要停顿太久。如果他们觉得自己被倾听,并有机会充分表达自己的想法,这将使谈话更加顺畅。

Most executives are highly sensitive to being interrupted when they are talking. Wait a little past their normal pauses when they are speaking. It will make for a smoother conversation if they feel they have been listened to and have had the chance to fully express their thoughts.

充满自信

Being Confident

大多数高管都有第六感,知道你缺乏信心的领域,并可能深入研究这些领域。在谈话中,他们可能会将你缺乏信心视为一个包含大量风险的领域,并希望专注于这个领域,而实际上,你可能只是对与高管互动感到紧张。学会坐直,保持肩膀向后,坐着时双脚直接放在身体下方,说话时直视高管。如果有风险领域,请在谈话早期提出。这将使他们对你更有信心,并有助于建立信任。

Most executives have a sixth sense about areas in which you lack confidence and are likely to delve into those areas. They are likely to perceive your lack of confidence during a conversation as an area that contains an abundance of risk and will want to focus on that area, when in reality, you may just be nervous about interacting with an executive. Learn to sit up straight, keep your shoulders back, keep your feet directly under you when you are sitting, and look at the executive directly when you are talking. If there are areas of risk, bring those up early on in the conversation. It will make them more confident in you and help establish trust.

管理你的时间

Managing Your Time

对于大多数建筑师来说,要完成的项目、估算和咨询工作比实际完成的时间要多。幸运的是不幸的是,一天只有 24 小时。有限的时间迫使你必须高效地进行时间管理。

For most architects, there are more projects, more estimating, more consulting to work on than there is time in which to do the work. Fortunately and unfortunately, there are only 24 hours in the day. The limited amount of time you have forces you to be highly effective in your time management.

限制您承诺的项目数量

Limiting the Number of Projects to Which You Commit

项目数量似乎总是多于负责项目的建筑师数量。作为一名建筑师,你需要对要承接的项目进行筛选。你需要确保,在接手项目之前,你有足够的时间真正拥有这个项目。

There always seem to be more projects than there are architects to oversee the work. As an architect, you need to be selective about the projects to which you commit. You need to ensure that, first and foremost, you have enough time to commit to truly owning a project before you take it on.

如果您已经有几个项目占用了您大部分的时间,那么再承担一个项目对任何人都没有好处。

If you already have several projects that are consuming the majority of your time, you are not doing anyone a favor by taking on yet another project.

如果企业已承诺做一个项目,它需要确保有足够的技术人员来执行该项目;如果出现问题,企业可能只是希望你作为一名架构师提供保险。

If the business has committed to doing a project, it needs to ensure that there is enough technical staff to execute the project; the business may simply be looking to you as an architect to be an insurance policy if things go wrong.

您所承诺的每个项目都关系到您的声誉。确保您愿意并能够长期承诺,并有时间确保项目顺利完成。

Your reputation is on the line for every project to which you commit. Make sure that you are willing and able to commit for the long haul and have the time to ensure that the project is delivered and delivered right.

定义你的角色并限制它

Defining Your Role and Bounding It

根据特定项目的需求,架构师在组织内扮演着各种不同的角色。鉴于这种流动性,架构师需要明确定义自己的角色和职责。限制您的职责有助于确保您有足够的能力处理多个并发项目的众多需求。

Architects have wide and varying roles within an organization depending on the needs of a particular project. Given this fluidity, architects need to clearly define their role and their responsibilities. Limiting your responsibilities can help ensure that you have sufficient capacity to deal with the many demands of multiple concurrent projects.

优先考虑将时间花在哪里

Prioritizing Where to Engage Your Time

在多个相互冲突的项目中,决定哪些项目应该参与、哪些项目不应该参与可能是一个难题。当遇到相互冲突的会议时,请考虑以下几点:

Deciding where to engage and not engage among multiple conflicting projects can be challenging. When it comes to conflicting meetings, consider the following:

图像谁会参加会议?一般来说,如果公司外部人员会参加会议,而你希望自己积极参与,那么参加会议应该是你的首要任务之一。接下来,业务部门外部的成员会参加会议吗?之后,考虑哪场会议包括最高级别的高管。目标是在正确的时间出现在正确的地点时间(并不总是很清楚)。确保向外部实体和高管传递积极的形象和品牌至关重要。

Who is attending the meetings? Generally speaking, if people from outside your company are attending and you are expected to be an active participant, attending should be one of your top priorities. Next, are members from outside your business unit attending the meeting? After this, consider which meeting includes the highest-ranking executive. The goal is to be in the right place at the right time (it’s not always clear). Ensuring that you are delivering a positive image and brand to external entities and to executives is critical.

图像会议可以重新安排吗?如果可以,请先请您自己业务部门的人重新安排。您可能经常与他们合作,因此可以更轻松地解决与他们的时间安排冲突。

Can the meeting be rescheduled? If so, ask people in your own business unit to reschedule first. You likely work with them on a regular basis and can more easily work through scheduling conflicts with them.

图像这是定期会议吗?如果这不是定期会议,而且有关键问题或决定需要解决,那么一般来说,这次会议应该被看作是优先会议。

Is this a regularly scheduled meeting? If this is not a regularly scheduled meeting, and there are key issues or decisions that need to be made, this meeting generally should be considered a higher priority.

图像这些定期安排的会议是否有冲突?如果是,请考虑交替参加这些会议,甚至参加一个会议的前半部分和另一个会议的后半部分。

Do these regularly scheduled meetings have conflicts? If so, consider alternating between them or even attending the first half of one meeting and the last half of the other meeting.

图像你真的需要参加吗?如果在会议上有人能帮你做决定,你可能不需要参加。要谨慎让别人代表你的观点。确保与你委托负责的人进行互动。最终,你还是要负责任的。

Do you really need to attend? If there are people with whom you feel comfortable making decisions for you at the meeting, you may not need to attend. Be cautious with letting others represent your views. Make sure you interact with any individuals to whom you are delegating responsibility. In the end, you are still responsible.

最重要的是,确保你清楚地告知会议组织者你是否出席,如果不出席,谁将代表你出席。如果你不能出席会议,请索要一份主要会议事项、主要决定和任何行动事项的摘要。这些信息将使你能够根据需要与其他人跟进,并让你了解下次会议的背景(如果有)。

Above all, make sure you are communicating clearly to the organizers of the meetings whether or not you will attend and if not, who will represent you. If you cannot attend a meeting, ask for a summary of key meeting items, key decisions, and any action items. This information will allow you to follow up with others as needed and allow you to know the context of the next meeting if there is one.

时间管理中最有效的工具之一就是说“不”。如果你没有时间处理某件事,而且无法轻松调整当前的承诺,那么简单地让别人知道你不能承担额外的工作是非常有效的。

One of your most effective tools in time management is simply to say no. If you do not have the time to deal with something and you cannot easily adjust your current commitments, simply letting others know that you cannot take on additional work is very effective.

你需要小心说“不”。有时额外的工作可能是你做真正想做的事情的机会。关键是要避免把自己分得太细,让你手头上的所有事情都落空。

You need to be careful about saying no. Sometimes the additional work could be an opportunity to do something that you really want to do. The key is to avoid spreading yourself too thin and having all of the balls you have up in the air come crashing down.

虽然建筑是建筑师生活中非常重要的一个方面,但生活中还有许多其他重要方面,包括家庭时间。从事工作以外的其他活动有助于让你更有趣,并有助于让你正确看待一些需要做出的日常决定。

Although architecture is a very important aspect of the lives of architects, there are many other important areas of life as well, including family time. Being engaged in other activities outside work helps keep you more interesting and helps put into perspective some of the daily decisions that need to be made.

一般来说,每天尽量选择一个合理的时间休息。晚上晚些时候处理事情是可以的,但尽量有一个固定的休息时间(可能会有例外,比如重要发布即将发布)。如果你不抽身,你很可能会精疲力竭。

As a general rule of thumb, try to pick a reasonable time to leave every day. It is okay to work on things later in the evening, but try to have a consistent off time (there may be exceptions to this such as when an important release is coming up). If you don’t get away, you have a real chance of burning out.

学会在有限的数据和有限的时间内做出决策

Learning to Make Decisions on Limited Data and with Limited Time

作为一名建筑师,你很少有机会获得做出决定所需的所有信息。通常你能做的最好的事情就是为研究或调查设定时间限制。如果可能的话,请咨询遇到过类似情况的其他人。

As an architect, you rarely get a chance to get all of the information you would like for a decision. The best you can normally do is to time-box the research or investigation. If possible, consult with others who have encountered similar situations.

时间到了,你需要做出决定。

When the time is up, you need to make a decision.

有时,做决定只是相信自己的直觉。它不一定能给你带来很大的安慰,但在大多数情况下,及时做出决定比努力做出完美的决定更重要。

Sometimes, making a decision simply comes down to trusting your gut feeling. It doesn’t necessarily give you a great amount of comfort, but in most situations, making a decision in a timely manner is more important than trying to make the perfect decision.

较长的决策周期往往会带来错误的预期,也会让管理层觉得项目在拖延。

Long decision cycles are often met with false expectations and can also make management feel as if the project is dragging on.

仅当您是积极参与者时才参加会议

Attending Meetings Only If You Are an Active Participant

对于几乎任何会议,除非您是积极的参与者并花时间参与对话,否则不值得您花时间参加。学会发言或离开。

For nearly any meeting, unless you are going to be an active participant and take the time to engage in the conversation, it is not worth your time to attend. Learn to either speak up or leave.

获得最后期限

Getting a Deadline

当我收到做某事的请求时,在我同意做之前,我首先考虑的事情之一是什么时候到期,以及我是否有时间真正完成要求我做的事情。如果我觉得自己没有足够的时间来处理要求,我会拒绝或要求一个能够确保我能完成的日期。

When I get a request to do something, before I agree to do it, one of the first things I consider is when it is due, and if I have the time available to actually deliver what is being requested of me. If I don’t feel I have sufficient time to deal with what is being requested, I will say no or request a date that enables me to ensure that I can deliver it.

委托给你信任的人

Delegating to Those You Trust

为了帮助您管理一天中对您时间的众多需求,请尝试找到团队中您高度信任且在您不在场时可以代表您观点的成员。这些成员包括你可以将项目责任委托给个人,让他们承担更多的责任。这将给他们一个培养技能的机会,也会让你在繁忙的日程中抽出一些时间。

To help manage the many demands on your time during the course of a day, try to find members of the team in whom you have a high level of trust and who can represent your views if you are not present. These are the individuals to whom you can delegate responsibility on a project and let them grow in the amount of responsibility they have. It will give them an opportunity to build their skills, and it will give you some additional time in your busy schedule.

亲自会面

Meeting in Person

快速解决问题并就某个方向达成共识的最佳方法之一就是亲自见面。如果不能亲自见面,请尝试通过某种虚拟方式见面,以便你们可以面对面见面。了解对方对你说的话的反应的能力可以让你快速调整谈话的方向并避免任何误解。

One of the best ways to quickly resolve issues and gain consensus on a direction is to simply meet in person. If you can’t meet in person, try to meet by some form of virtual means so that you can see each other face-to-face. The ability to see how a person is reacting to what you are saying can enable you to quickly adjust the direction of the conversation and avoid any misunderstandings.

如果可能的话,除了传达商定的决定和共识之外,请避免使用电子邮件。

If possible, avoid e-mail except for communicating the decisions and consensus agreed upon.

从长远来看,面对面会面可以为你节省大量时间,尽管前期可能需要做出更大的承诺。

Meeting in person can save you a significant amount of time in the long run even though it may be a bigger commitment up front.

培养技术人才

Grooming Technical Talent

架构师的职责之一是帮助培养技术人员,使他们能够在组织中晋升,并帮助维护组织内坚实的技术人员基础,以创建出色的软件。

Part of the responsibility of an architect is to help groom the technical staff for moving up in the organization and to help maintain a solid base of technologists within an organization to enable great software to be created.

拥有建筑指导计划

Having an Architecture Mentorship Program

在汤森路透,我帮助运营一个架构师辅导计划。该计划包括架构师、技术主管和其他对架构领域感兴趣的人。该计划侧重于三个核心领域:

At Thomson Reuters, I help run an architecture mentorship program. This program includes architects, technical leads, and others who have an interest in the area of architecture. The program focuses on three core areas:

图像 拓展业务知识。在这一领域,我们专注于邀请来自不同业务领域(财务、营销、战略和其他领域)的演讲者。目标是让技术人员了解技术之外的业务内部发生的广泛情况。

Broadening business knowledge. In this area, we focus on bringing in speakers from different areas of the business (finance, marketing, strategy, and other areas). The goal is to give the technical staff a sense of the broad range of what is going on within the business outside of technology.

图像 引入新兴和核心技术。在这一领域,我们专注于引进新的或核心技术专家,他们可以拓宽解决方案工具集,并帮助新兴技术人员建立新技术联系。这可以包括引进来自数据中心、研发和其他领域的人员。

Introducing emerging and core technologies. In this area, we focus on bringing in new or core technology experts who can broaden the solution tool set and help make new technology connections for emerging technologists. This can include bringing in people from the data center, research and development, and other areas.

图像 建筑小组讨论。在这个领域,我们专注于以小组形式讨论常见或当前的建筑问题。这可以让人们就不同的建筑师如何思考和处理不同的问题展开公开的对话。

Architecture panel discussions. In this area, we focus on discussing common or current architectural issues in a panel setting. This allows for an open conversation about how different architects are thinking about and approaching different issues.

架构师辅导计划的目标是培养一种架构师社区意识,邀请崭露头角的技术人员学习和发展技能,以胜任架构师角色。它还可以帮助其他架构师了解项目的不同思维方式并分享他们的经验。

The goal with the architecture mentorship program is to develop a sense of architectural community that invites up-and-coming technologists to learn and develop the skills to move into an architecture role. It also helps other architects to see different ways of thinking about projects and to share their experiences.

对我来说,指导是一种回馈组织并帮助培养下一代人才的好方法。我通常学到的东西至少和被指导者一样多,甚至更多,帮助别人往往是一种非常有益的经历。

For me, mentoring is a great way to give back to the organization and help build up the next generation of talent. I usually end up learning at least as much as if not more than the mentee, and helping out others tends to be a highly rewarding experience.

举办技术论坛

Having a Technology Forum

在汤森路透,我还负责举办一系列技术论坛。这个项目旨在帮助提高组织的技术意识。它有多种用途:

At Thomson Reuters, I also run a tech forum series. This program is a place to help raise technical awareness in the organization. It serves multiple purposes:

图像让新兴技术人才站在众人面前展示酷炫技术

To let up-and-coming technical talent get up in front of a large group and show off cool technologies

图像让业务部门中的每个人都有机会看到现场编码,并帮助提高对目前正在使用的技术及其使用方式的认识

To give everyone in the business unit a chance to see live coding and help raise awareness of what technologies are currently in use and how they are being used

图像将您所在的地区宣传为一个不错的工作场所,并吸引组织内的其他人愿意在您的地区工作

To promote your area as a cool place to work and attract others within the larger organization to want to work in your area

图像向高管和高级管理人员展示新兴技术人才

To expose up-and-coming technical talent to the executives and senior management

鼓励技术团队成员参加当地会议和用户组

Encouraging Members of Your Technical Team to Attend Local Conferences and User Groups

您希望鼓励与您合作的团队的技术成员积极参与当地技术社区。这将使他们能够保持技能的最新状态,并帮助他们扩大他们认识的技术人员网络。这也有助于将您的公司打造为一个活跃的开发公司社区并应有助于吸引其他人到您的公司工作。

You want to encourage the technical members of the teams you work with to be active in the local technical community. It will allow them to keep their skills current and help them grow the network of technical people they know. It will also help establish your company as an active development community and should help attract others to your company as a place to work.

聘用最优秀的人才:不要只填补一个职位

Hiring the Best People: Don’t Just Fill a Position

招聘合适的人才对于你当前的项目至关重要,更重要的是对你未来的项目。面试时,花点时间寻找

Hiring the right people is critical for your current projects and more importantly for your future projects. When interviewing, take the time to look for

图像 会使用白板的候选人。您需要的是能够站在白板前连贯地绘制他们之前参与创建的解决方案的人。他们应该能够回答详细的问题,例如为什么采用这种结构以及考虑了哪些其他替代方案。您需要了解他们如何解决问题以及他们描述解决方案的能力。您还希望了解他们是否能够快速思考。他们如何推销自己的解决方案?解决方案看起来可信吗?

Candidates who can whiteboard. You want people who can get up to the whiteboard and coherently draw a solution they have previously helped create. They should be able to answer detailed questions as to why it is structured the way it is and what other alternatives were considered. You want to get a sense of how they solve problems and how well they can describe the solution. You also want to get a sense of whether they can think on their feet. How well did they sell their solution? Does it seem believable?

图像 候选人能够清楚地说明为什么以及何时使用技术。这包括能够解释他们使用的技术的利弊、何时考虑使用它们以及何时避免使用它们。技术人员应该对技术有非常独特的看法。他们应该知道他们使用的软件的当前版本以及最近添加的主要功能。你想知道他们知道的不仅仅是职位发布中的关键字。

Candidates who can articulate why and when to use technologies. This includes being able to explain the pros and cons of the technologies they use, when to consider using them, and when to avoid them. People in technology should have very distinct opinions about technologies. They should know the current versions of the software they use and the key features that have recently been added. You want to know that they know more than just the keywords that were in the job posting.

图像 善于交际的候选人。与他人互动是每个开发人员的日常活动。如果候选人不能合理地与你交往,你就不得不质疑他们在组织内晋升的程度(快速轻松地建立关系至关重要)。

Candidates who are sociable. Interacting with others is a daily activity for every developer. If candidates cannot reasonably socialize with you, you have to question how well they will be able to rise within the organization (building relationships quickly and easily is essential).

图像 能够解释如何解决问题的候选人。他们应该能够描述他们在技术方面遇到的一些最严重的问题,并详细解释他们是如何解决这些问题的。仔细聆听他们使用的语言和提供的细节深度。

Candidates who can explain how they go about solving problems. They should be able to describe what some of their worst problems in technology have been and explain in detail how they worked their way out of them. Listen closely for the language they use and the depth of detail provided.

图像 应聘者需要能够描述贵公司的业务内容和盈利方式。您需要至少能够进行基础研究的应聘者。

Candidates who can describe what your business does and how it makes money. You want someone who can do at least basic research.

图像 候选人能够描述他们如何与管理层互动。他们应该能够描述当被问及他们解决特定问题的方法时他们的想法(建筑师总是被问及他们的方法)。他们是防守型的,还是直言不讳、迅速切入主题?防守型绝对是个警告信号。

Candidates who can describe how they interact with management. They should be able to describe what their thoughts are about being questioned about the approach they took to a particular problem (architects get questioned about their approach all the time). Are they defensive or do they shoot straight and get to the point quickly? Getting defensive is definitely a warning sign.

图像 候选人能够描述自己如何跟上技术潮流。理想情况下,答案是他们喜欢在业余时间玩弄技术,并且有证据证明这一点。

Candidates who can describe how they stay current with technology. Ideally, the answer is they like to play around with technology in their spare time and have evidence of that.

聘用和吸引对软件开发充满热情的开发人员的能力对于保持您的业务技术与时俱进和工作场所充满乐趣至关重要。

Your ability to hire and attract developers who are passionate about software development is critical for keeping your business technologically current and the workplace a fun place.

增强你的技能

Enhancing Your Skill Set

作为一名建筑师,你很容易陷入别人对你时间的无休止的要求中。如果你不小心,他们会占用你每天的每一秒,让你没有时间去维护和提高自己的技能。

As an architect, it is easy to get caught up in the endless demands of others on your time. If you are not careful, they will consume every last second of every day and leave you no time to maintain and enhance your own skill set.

与其他建筑师坐在一起

Sitting with Other Architects

无论贵公司的规模如何,您都可能需要考虑将自己的隔间设在其他架构师附近。有机会在一天中倾听和参与与架构相关的对话,可以帮助您了解业务其他领域正在遇到的问题。这将有助于您了解常见问题,并开始制定可能在不同项目或产品之间共享的新功能。它还使您能够了解其他领域正在考虑的技术。

Regardless of the size of your organization, you may want to consider locating your cube near other architects. Having the opportunity to overhear and become involved in architecturally related conversations during the course of the day can help you to keep current with what other areas of the business are encountering. This will help enable you to hear common problems, and to start formulating new capabilities that may be shareable across different projects or products. It will also enable you to hear about technologies that are being contemplated in other areas.

与其他架构师坐在一起是一种廉价而有效的方式,可以帮助您了解最新的业务和技术。

Sitting with other architects is a cheap and efficient way to help you stay current with the business and with technology.

每天做一些技术性的事情

Doing Something Technical Every Day

每天花点时间做一些技术性的事情。通常在早上或下午晚些时候,当会议、站立会议和即兴提问的核心部分结束后,这是深入研究或尝试一些你不熟悉的新技术的好时机。如果情况变得更糟,晚上晚些时候花点时间尝试一些新的东西。

Take some time every day to do something technical. Usually early in the morning or later in the afternoon when the core of meetings, stand-ups, and impromptu questions end is a great time to dive in and do some research or try out some new technology that you are not familiar with. If worse comes to worst, take some time later in the evening to play around with something new.

参加会议;观看网络研讨会;阅读博客;阅读在线杂志。所有这些都将帮助您了解行业动态并保持您的技术技能敏锐。

Go to a conference; watch a webinar; read a blog; read an online magazine. All of these things will help keep you up to speed with what is going on in the industry and keep your technical skills sharp.

紧跟技术是确保自己不会过时的最好方法之一。

Staying up on technology is one of the best ways to ensure that you do not become obsolete.

关注令你恐惧的事情

Focusing on What Scares You

在项目进行过程中,一些领域会出现,为您带来一定程度的不确定性。花点时间调查和尝试这些领域,直到您感到舒适并对它们有基本的了解。

During the course of projects, some areas rise up that create a certain level of uncertainty for you. Take the time to investigate and play around in these areas enough that you are comfortable and have a base level of knowledge about them.

成为某一领域的专家

Becoming an Expert in an Area

作为一名建筑师,你将为自己擅长的领域和不擅长的领域打造品牌。考虑一下你想在自己的企业和所在行业中树立什么样的品牌。一旦你了解了自己想要树立的品牌,就努力成为该领域的专家,打造自己的品牌。

As an architect, you will develop a brand for what you are good at and for areas where you are weak. Consider what brand you want to project within your business and within the industry where you work. Once you have a sense of how you want to be branded, work toward crafting this brand by becoming an expert in that area.

考虑撰写博客或在该领域的会议上进行演讲,以帮助强化您想要推广的品牌。

Consider writing a blog or giving presentations at conferences in this area as a way to help reinforce the brand you are trying to promote.

寻找可以提高技能的项目

Looking for Projects Where You Can Grow Your Skills

建筑师需要不断磨练自己的技能。当你看到工作中正在进行的项目时,要了解哪些项目能让你成长,并积极游说参与这些项目。如果工作中的项目不能为你提供你想要的成长,那么几乎总有工作以外的项目可以发挥你的热情和专业知识。

Architects need to be constantly honing their skill sets. As you see projects that are coming down the pipeline at work, have a sense of what projects will enable you to grow, and actively lobby to be on those projects. If the projects at work are not able to provide you with the growth you are looking for, there are almost always projects outside of work that can use your passion and expertise.

经常会有开源项目或志愿者机会,人们和组织会很高兴你参与其中并帮助他们解决技术问题。你将有机会学习,而他们也会在技术挑战方面得到一些急需的帮助。

There are often open-source projects or volunteer opportunities where people and organizations will be thrilled to have you dive in and help them solve their technology problems. You will get a chance to learn, and they will get some much-needed help on technology challenges.

概括

Summary

管理之路始于

The road to management begins with

图像追求技术卓越

Striving toward technology excellence

图像交付项目

Delivering projects

图像解决问题

Resolving issues

图像与高管合作

Partnering with executives

图像管理你的时间

Managing your time

图像培养技术人才

Grooming technical talent

图像增强你的技能

Enhancing your skill set

最后,管理可能不是您词汇中的一个理想词,但它是您履行所受委托的职责的一项基本职能。

In the end, management may not be an aspirational word in your vocabulary, but it is an essential function for you to deliver on the responsibilities with which you are entrusted.

参考

References

Anderson, David J. 2010. Kanban:为您的技术业务带来成功的革命性变革。Blue Hole Press。

Anderson, David J. 2010. Kanban: Successful Evolutionary Change for Your Technology Business. Blue Hole Press.

Appelo, Jurgen。2011 年。《管理 3.0:领导敏捷开发人员,培养敏捷领导者》。Addison -Wesley。

Appelo, Jurgen. 2011. Management 3.0: Leading Agile Developers, Developing Agile Leaders. Addison-Wesley.

Berkun, Scott。2008 年。《让事情发生:掌握项目管理》。O'Reilly Media。

Berkun, Scott. 2008. Making Things Happen: Mastering Project Management. O’Reilly Media.

Duvall, Paul M.、Steve Matyas 和 Andrew Glover。2007 年。《持续集成:提高软件质量并降低风险》。Addison -Wesley。

Duvall, Paul M., Steve Matyas, and Andrew Glover. 2007. Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley.

Humble, Jez 和 David Farley。2010 年。《持续交付:通过构建、测试和部署自动化实现可靠的软件发布》。Addison -Wesley。

Humble, Jez, and David Farley. 2010. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.

Hunt, Andrew 和 David Thomas。2007 年。《实用程序员:从熟练工到大师》。Addison -Wesley。

Hunt, Andrew, and David Thomas. 2007. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley.

Nygard, Michael T. 2007. Release It!:设计和部署生产就绪软件。Pragmatic Bookshelf。

Nygard, Michael T. 2007. Release It!: Design and Deploy Production-Ready Software. Pragmatic Bookshelf.

Leffingwell,Dean。2007 年。扩展软件敏捷性:大型企业的最佳实践。Addison -Wesley。

Leffingwell, Dean. 2007. Scaling Software Agility: Best Practices for Large Enterprises. Addison-Wesley.

Rasmusson, Jonathan。2010 年。《敏捷武士:敏捷大师如何交付优秀软件》。Pragmatic Bookshelf。

Rasmusson, Jonathan. 2010. The Agile Samurai: How Agile Masters Deliver Great Software. Pragmatic Bookshelf.

Rothman, Johanna。2007 年。《管理它!:现代、实用项目管理指南》。实用书架。

Rothman, Johanna. 2007. Manage It!: Your Guide to Modern, Pragmatic Project Management. Pragmatic Bookshelf.

Rothman, Johanna 和 Esther Derby。2005 年。《闭门造车:卓越管理的秘密》。实用书架。

Rothman, Johanna, and Esther Derby. 2005. Behind Closed Doors: Secrets of Great Management. Pragmatic Bookshelf.

Rubin, Kenneth S. 2012. 《Essential Scrum:最流行的敏捷过程实用指南》。Addison -Wesley。

Rubin, Kenneth S. 2012. Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley.

第二部分:技术技能

Part II: Technology Skills

“建筑很简单:你只需盯着纸,直到额头上出现血滴。”

“Architecture is easy: you just stare at the paper until droplets of blood appear on your forehead.”

-未知

—Unknown

“没有哪种建筑比简约的建筑更傲慢。”

“No architecture is so haughty as that which is simple.”

—约翰·罗斯金

—John Ruskin

“人们最想要的是秩序。”

“What people want, above all, is order.”

—斯蒂芬·加德纳

—Stephen Gardiner

“建筑师把建筑设计得过于复杂。我们需要简化它,使用一种每个人都能理解的语言。”

“Architects have made architecture too complex. We need to simplify it and use a language that everyone can understand.”

—伊东丰雄

—Toyo Ito

“建筑并非源于理论。”

“Architecture doesn’t come from theory.”

—阿瑟·埃里克森

—Arthur Erickson

本部分重点介绍架构师的四项基本技术技能。这些章节重点介绍原则、策略和其他领域,以帮助您更有效地管理架构。这些章节的组织方式如下:

This part focuses on the four essential technology skills of an architect. These chapters focus on principles, strategies, and other areas to help you become more effective in managing your architecture. The chapters are organized as follows:

图像 第 6 章平台开发”将帮助您

Chapter 6, “Platform Development,” will enable you to

图像构建跨多个应用程序的可利用功能

Build leverageable capabilities across multiple applications

图像打造平台发展繁荣的生态系统

Create an ecosystem for platform development to thrive in

图像建立并遵守平台的指导原则

Establish and adhere to guiding principles for the platform

图像 第 7 章建筑视角”将帮助你

Chapter 7, “Architectural Perspective,” will enable you to

图像通过完善的架构原则指导架构

Guide the architecture via well-established architectural principles

图像确保解决非功能性架构问题

Ensure that nonfunctional architectural concerns are addressed

图像以有效的方式传达你的建筑观点

Communicate your architectural perspective in an effective manner

图像 第 8 章治理”将帮助你

Chapter 8, “Governance,” will enable you to

图像为您负责的领域提供基于原则的架构治理

Provide principle-based architectural governance for the areas you are responsible for

图像为敏捷项目提供架构治理

Provide architectural governance for agile projects

图像 第 9 章诀窍”将帮助你

Chapter 9, “Know-how,” will enable you to

图像培养相关的建筑专业知识

Develop relevant architectural know-how

图像利用您的建筑专业知识建立并维持货币

Build and maintain currency with your architectural know-how

图像培养卓越的建筑专业知识

Develop excellence with respect to architectural know-how

技术技能是成为一名建筑师所需的第二层技能(见图PII.1)。

Technology skills are the second layer of skills needed to be an architect (see Figure PII.1).

图像

图 PII.1架构师必备技能(技术技能)

Figure PII.1 Essential architect skills (technology skills)

技术技能可以从三个维度来考虑:技术杠杆、技术监督和技术知识管理(见图PII.2)。

Technology skills can be thought of in three dimensions: technology leverage, technology oversight, and technology knowledge management (see Figure PII.2).

图像

图 PII.2技术技能维度

Figure PII.2 Technology skill dimensions

这三个维度的技术技能对于架构师来说至关重要。它们将使您能够凭借坚实的技术基础推动组织实现其目标。

These three dimensions of technology skills are critical for architects to master. They will enable you to drive your organization toward its goals and objectives with a solid foundation in technology.

第六章 平台开发

Chapter 6. Platform Development

“‘平台’是一种可由外部开发人员(用户)进行编程和定制的系统,这样就可以适应平台最初的开发人员不可能考虑到的无数需求和领域,更不用说有时间去适应了。”

“A ‘platform’ is a system that can be programmed and therefore customized by outside developers—users—and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.”

—马克·安德森

—Marc Andreessen

“没有平台的产品就是无用的产品,或者更准确的说法是,没有平台的产品总会被同等的平台化产品所取代。”

“A product is useless without a platform, or more precisely and accurately, a platform-less product will always be replaced by an equivalent platform-ized product.”

—史蒂夫·耶格

—Steve Yegge

“我们首次允许非 Facebook 开发人员像在 Facebook 工作一样开发应用程序。这是一件大事,因为这意味着所有开发人员都可以选择一种新的方式开展业务。一些公司正在成立,其唯一产品是 Facebook 平台应用程序。”

“For the first time we’re allowing developers who don’t work at Facebook to develop applications just as if they were. That’s a big deal because it means that all developers have a new way of doing business if they choose to take advantage of it. There are whole companies that are forming whose only product is a Facebook Platform application.”

-马克·扎克伯格

—Mark Zuckerberg

“我喜欢我使用的计算机的其中一个原因是,我可以在计算机上编写程序,也可以下载程序并运行。这对我来说很重要,对整个互联网的未来也很重要。……显然,封闭的平台会严重阻碍创新。”

“One of the things I like about the computer that I use is that I can write a program on it or I can download a program on to it and run it. That’s kind of important to me, and that’s also kind of important to the whole future of the internet. . . . obviously a closed platform is a serious brake on innovation.”

—蒂姆·伯纳斯·李

—Tim Berners-Lee

架构师每天都要为业务问题寻找解决方案。挑战在于找到能够提供最大战略优势的低成本替代方案。

Architects are tasked with seeking solutions to business problems every day. The challenge is to find low-cost alternatives that provide the maximum strategic advantage.

尽管初始开发成本较高,但构建和利用平台可以成为公司实现资金最大化的最佳投资之一。

Despite the initial cost of development, building and leveraging platforms can serve as one of the best investments companies can make to maximize their dollars spent.

本章重点介绍软件架构师构建或将系统转变为平台所需的关键技能和考虑因素。

This chapter focuses on the key skills and considerations needed by a software architect to construct or transform systems into platforms.

平台开发定义

Platform Development Defined

平台开发是将应用程序或概念转化为一组基本共享功能和生态系统的过程,这些功能和生态系统可供多个应用程序或解决方案同时利用(见图6.1)。平台支持跨多个应用程序或解决方案的通用功能。

Platform development is the process of transforming an application or concept into a base set of shared capabilities and ecosystems that can be leveraged by multiple applications or solutions concurrently (see Figure 6.1). Platforms enable common capabilities across multiple applications or solutions.

图像

图6.1平台发展

Figure 6.1 Platform development

平台开发的要素

The Elements of Platform Development

平台开发可以极大地影响您快速开发应用程序的能力以及以全新和集成的方式为客户提供支持的能力。挑战在于如何以不显著增加成本或复杂性的方式管理平台开发。

Platform development can have a dramatic impact on your ability to produce applications quickly as well as to support customers in new and integrated ways. The challenge is how to manage the platform development in a manner that is not dramatically more expensive or more complex.

平台开发有三个关键要素(见图6.2):

There are three key elements of platform development (see Figure 6.2):

图像 功能。这些是平台提供的功能,基本上可以告诉您平台可以做什么。

Capabilities. These are the functionalities delivered by the platform that basically tell you what the platform can do.

图像 生态系统。这是平台运行的环境。它处理平台周围的一切。

Ecosystem. This is the environment in which the platform operates. It deals with everything that surrounds the platform.

图像 指导原则。这是用于指导和引导平台开发和架构的一套原则。

Guiding principles. This is the set of principles used to guide and direct the development and architecture of the platform.

图像

图6.2平台开发由三个关键要素组成:能力、生态系统和指导原则。

Figure 6.2 Platform development is made up of three key elements: capabilities, ecosystem, and guiding principles.

这些元素定义了平台的本质。

These elements define the essence of the platform.

平台开发所采用的方法可能会有很大不同,具体取决于您的起点。您是在几乎全新的开发过程中预先设计平台,还是从现有应用程序开始设计平台?两者的最终状态可能相同,但实现该状态的考虑因素和成本可能截然不同。

The approach taken to platform development can be dramatically different depending on where you are starting. Are you designing a platform up front in a mostly greenfield development exercise, or are you backing into the platform from an existing application? The end state may be the same for both, but the considerations and costs for how to get there may be extremely different.

功能

Capabilities

平台的核心价值基于其提供的一组定义功能。这些功能通常源自一个应用程序或一组应用程序。随着时间的推移,人们认识到这些功能可在各种应用程序中利用。挑战在于如何将这些功能打包并分发给更广泛的受众。

The core value of a platform is based on the defined set of capabilities it provides. These capabilities usually emerge from an application or a set of applications. With time, it is recognized that these capabilities are leverageable across a wide variety of applications. The challenge is how to package and distribute these capabilities to a wider audience.

定义目标集

Defining the Set of Objectives

在深入研究平台的功能集之前,请先与企业合作,定义平台的目的和关键目标。也就是说,平台将帮助企业实现什么目标?此描述通常包含三到五个关键目标,后面跟着一个以诸如启用提供拓宽坚持合作等词语开头的项目符号列表。这些可能看起来像“妈妈和苹果派”类型的陈述,但它们确实有助于限制平台开发的范围和重点。

Before diving into the set of capabilities for a platform, start working with the business to define the purpose and key objectives of the platform. That is, what will the platform help the business accomplish? This description usually contains three to five key objectives followed by a bulleted list that starts with words like enable, provide, broaden, adhere, and partner. These may seem like “mom and apple pie”–type statements, but they do help bound the scope and focus of the platform development.

定义功能集

Defining the Set of Capabilities

通常,当我开始思考平台的功能时,我会考虑平台可以执行的高级操作,通常远高于开发人员可以访问的 API 级别。然而,这些操作与业务人员对平台的理解相对接近。

Normally, when I start thinking about the capabilities of a platform, I think about the high-level actions that the platform can perform, usually high above the API level that a developer would access. These actions, however, are relatively close to what a business person would think of with respect to the platform.

理想情况下,在列举功能时,所选术语应来自用户的领域,或者至少是用户能够快速且明确关联的术语。这通常是平台逻辑架构的开始,通常代表平台将支持的服务组。如果有超过七到十个服务,请考虑为这些服务提供更高级别的分组,以帮助让平台新手更容易概念化。

Ideally, as the capabilities are enumerated, the terms selected are from the domain of the user or at least terms to which users would quickly and unambiguously relate. This is usually the beginning of the logical architecture for the platform and typically represents the groups of services that the platform will support. If there are more than seven to ten services, consider providing a higher level of grouping for those services to help make the platform easier to conceptualize for users who are new to it.

尽管您的业务合作伙伴可能不习惯从服务或功能的角度来思考,但与他们合作并确保所使用的名称和词语对他们有意义是值得的。如果您的业务合作伙伴参与了平台的创立和塑造,这也将有助于平台的长期宣传。

Although your business partners may not be accustomed to thinking in terms of services or capabilities, it is worthwhile to partner with them and ensure that the names and words being used make sense to them. It will also help with the long-term advocacy of the platform if your business partners have been part of its inception and shaping.

我通过简单地将业务合作伙伴聚集在一个房间并用白板列出功​​能,取得了相当大的成功。这种互动方式的好处是,您可以针对这些功能制定出一个统一的词汇表。

I have had a fair amount of success by simply getting business partners in a room and whiteboarding the capabilities. The benefit of this style of interaction is that you can come up with an agreed-upon vocabulary for the capabilities.

关注可利用的能力

Focusing on Leverageable Capabilities

首次开始定义平台功能时,很容易将您能想到的一切都纳入其中,力求包罗万象。目标应该是仅包括已知可供多个应用程序利用的功能,或将来可能被其他应用程序利用的功能。如果该功能特定于应用程序,则应用程序可以自行提供该功能。

When first starting to define the capabilities for a platform, it is tempting to include everything that you can think of and be all-inclusive. The goal should be to include only the capabilities that are known to be leverageable by more than one application or what may be leverageable in the future by other applications. If the capability is application specific, the application can provide the capability itself.

对平台中包含的内容要认真对待;一开始应该有一个相对狭窄的重点,并做好少数事情。

Be diligent about what is included in the platform; it should have a relatively narrow focus in the beginning and do a small number of things well.

开发强大的概念模型

Developing a Strong Conceptual Model

平台功能通常被分组为相关功能集。这些分组体现了平台的概念模型,应该自然地聚集在一起形成一个有凝聚力的单元。

The platform capabilities are typically grouped into sets of related capabilities. These groupings embody the conceptual model of the platform and should naturally cluster together to form a cohesive unit.

API 是王国的钥匙

APIs Are the Keys to the Kingdom

API 释放了平台的价值(见图6.3)。它们使开发人员能够管理和访问平台。在将 API 设计到平台中时,需要考虑许多横切关注点:

APIs unlock the value of the platform (see Figure 6.3). They give developers the ability to manage and access the platform. When designing the APIs into the platform, many crosscutting concerns need to be taken into account:

图像安全问题是什么?在平台中明确定义身份管理和访问控制是绝对必要的,以确保平台是合作伙伴存储和管理其数据的“安全”场所。

What are the security concerns? Clearly defining identity management and access control in a platform is absolutely essential to ensure that the platform is a “safe” place for your partners to store and manage their data.

图像传输的信息粒度是多少?粒度细吗?接口是否需要支持大批量处理能力?

What is the granularity of information that is transferred? Is it fine grained? Does the interface need to support large batch capabilities?

图像数据模型是否在 API 中明确定义?或者数据访问是否更为通用,即系统不知道信息,但主要从关键角度进行访问?

Is the data model explicitly defined in the APIs? Or is the data access more generic where the information is not known to the system but is accessed mostly from a key perspective?

图像需要建立哪些类型的协议和支持的内容类型?这只是带有 JSON 的 HTTP/REST 吗?还是 JMS?

What types of protocols and supported content types need to be established? Is this simply HTTP/REST with JSON? Or is this JMS?

图像服务编排属于哪里?它属于调用应用程序还是属于平台?是否有相关的工作流?需要支持哪些类型的事件?

Where does service orchestration belong? Does it belong in the calling application or does it belong in the platform? Is there related workflow? What types of events need to be supported?

图像该平台是否支持控制反转?如果支持,需要哪些类型的配置来支持它?

Does the platform support inversion of control? If so, what types of configuration are required to support it?

图像您有 API 版本控制策略吗?您的接口不太可能一开始就完美无缺。关键是让它们合理接近,并随着您对平台的实际用途和需求的了解越来越多,让平台不断发展和成熟。

Do you have an API versioning strategy? It is unlikely that your interfaces are going to be perfect right out of the gate. The key is to get them reasonably close and allow for the platform to grow and mature as you learn more about the real usage and needs of the platform.

图像您打算如何弃用 API?随着接口定义的成熟,旧接口需要消失。向您的合作伙伴发出某些接口已弃用的信号,可让他们在删除接口之前进行必要的升级。

How do you plan to deprecate APIs? As the interface definitions mature, old interfaces need to go away. Giving your partners a signal that certain interfaces are deprecated allows them to make necessary upgrades before removing interfaces.

图像

图 6.3管理平台的界面对于在其上构建的应用程序至关重要;他们只是希望它每次都能正常工作。

Figure 6.3 Managing the platform’s interface is critical to the applications that will be built upon it; they simply expect it to work correctly every time.

生态系统

Ecosystem

围绕平台的生态系统(用户、所有权、管理、开发、成本、质量、集成、可扩展性和安全性)几乎与平台本身一样重要。

The ecosystem (users, ownership, management, development, costs, quality, integration, scalability, and security) that surrounds the platform is nearly as critical as the platform itself.

平台用户

Platform Users

了解并理解平台的用户对于了解平台的所有权、架构、营销和开发方式至关重要。了解平台用户的关键方面包括:

Knowing and understanding the users of the platform are essential to knowing how the platform needs to be owned, architected, marketed, and developed. Key aspects of knowing the platform users include the following:

图像客户的性质是什么?他们是贵公司的内部客户还是外部客户,或者两者兼而有之?他们是管理员还是用户?他们是创收客户、内部客户还是免费客户?了解客户的性质有助于推动您的 SLA、安全方法、灾难恢复方法以及哪些功能必不可少。

What is the nature of the customers? Are they internal to your company or external to your company or both? Are they administrators or users? Are they revenue generating versus internal versus free? Understanding the nature of the customer can help drive your SLAs, your security approach, your disaster recovery approach, and what features are essential.

图像如果平台是内部的,那么服务是在业务部门内提供的还是跨业务部门提供的?跨业务部门谈判很棘手,不仅从技术角度如此,而且从政治和财务角度也是如此。

If the platform is internal, is the service being offered within a business unit or across business units? Negotiating across business units gets tricky, not as much from a technical perspective but from both a political and a financial perspective.

拥有这些知识可以指导您如何寻求资金、如何监督平台以及如何管理与平台相关的项目。

Having this knowledge can drive how you need to seek funding, how you oversee the platform, and how you manage platform-related projects.

平台所有权

Platform Ownership

平台决策的结果有很多微妙之处,这取决于组织内部的所有者。平台的所有者该平台需要指导资金、监督、参与前材料、项目接收和需求管理、入职以及意识和接受。

There are many subtle outcomes to the decisions that are made for a platform depending on who within the organization is the owner. The owner of the platform needs to guide funding, oversight, pre-engagement materials, project intake and requirements management, on-boarding, and awareness and acceptance.

平台融资

开发平台的一大挑战是不仅要获得必要的支持来资助开发工作,还要获得支持平台战略性质的资金。与功能有限的单一用途应用程序相比,开发、测试和维护灵活的多租户平台通常需要更多时间。

One of the more challenging aspects of developing a platform is not only to get the necessary support to fund development work, but to get it funded at a level that supports the strategic nature of the platform. It often takes more time to develop, test, and maintain flexible, multitenant platforms than single-purpose applications with limited capabilities.

为平台提供资金需要您管理和确定以下内容:

Funding a platform requires you to manage and determine the following:

图像谁资助这项工作?通常,每个利用该平台的业务部门都会提供资金,可能是来自中央技术小组,也可能来自其他业务合作伙伴。

Who funds the work? Typically, there is funding from each of the business units that is leveraging the platform, possibly from a central technology group, or potentially from other business partners.

图像对于那些想要免费使用的人,您该怎么做?总有一些人想免费或以极低的成本使用该平台。如果平台更加成熟,并且不需要进行开发更改并且对系统资源的利用率相对较低,那么这是有可能的。

What do you do with those who want it for free? There are always those who want to come in and use the platform for free or for very low cost. This can be possible once the platform is more established, if they don’t require development changes and their utilization of system resources is relatively low.

图像如果没有平台合作伙伴的资金支持,他们能完成多少开发工作?答案通常是很少,除非他们需要的功能由其他人资助或由中央战略开发资金资助。

How much of the development can occur for a platform partner without their contributing funding? The answer to this is usually very little unless the features they need are being funded by someone else or being funded by central strategic development dollars.

图像您是否允许其他人在不承诺资金的情况下做出战略方向决策?您希望参与帮助制定战略决策的团体是那些有一定利益并愿意投入资金来构建和支持平台的团体。他们将自然而然地利用有限的资金做出明智的决策。

Do you allow others to make decisions about strategic direction without funding commitments? The groups you want involved in helping make strategic decisions are those that have some skin in the game and are willing to commit financial resources to building and supporting the platform. They will have a natural alignment to making wise decisions with the limited funding resources.

图像如何资助错误修复?平台维护中需要内置某种形式的支持资金。这通常以某种形式向利用该平台的业务部门退款。

How do you fund bug fixes? There needs to be some form of support funding built into the maintenance of the platform. This often takes place as some form of charge-back to the business units that are leveraging the platform.

图像如何平衡资金雄厚的合作伙伴和资金不足的小企业的需求?平台需要对参与的每个人都负责。如果只有资金雄厚的一方获得所有资源和关注,平台社区意识和公平感就会被破坏。通过某种形式的投票或将所有核心财务贡献者都考虑在内的协议机制通常效果良好。

How do you balance the needs of partners who have a lot of money versus the little guy who doesn’t have as much funding to contribute? Platforms need to account for everyone who is at the table. If only the one group with a lot of funding gets all of the resources and attention, you destroy the sense of platform community and the sense of fairness that need to exist. Having some form of voting or agreement mechanism that takes all of the core financial contributors into account typically works well.

图像如何确保公平投资?如果有多个领域可以利用某项能力,您如何分配成本?大多数情况下,先进入市场的产品会获得收益;随后进入市场的产品通常几乎是搭便车。这种模式不必要地限制了平台的功能,而这些功能可能是广泛需要的。如果可能的话,寻找方法来协调成本的共享分配。这就是平台真正发挥作用的地方;每个人都有机会从其他人贡献的开发资金中受益,而每个人最终需要贡献的金额更少。

How do you ensure equitable investments? If there are multiple areas that can leverage a capability, how do you allocate the cost? Most of the time, it is first to market that pays; the others that follow typically get close to a free ride. This type of model limits the capabilities of the platform unnecessarily when they may be broadly needed. If possible, look for ways to broker a shared allocation of the costs. This is where the value of a platform truly comes into play; everyone gets a chance to benefit from the development dollars that others are contributing, and the amount everyone needs to contribute in the end is less.

图像您如何分配持续成本?对于内部用户,随着使用量和规模的增加,您是否有收费模式?对于外部用户,您是否有基于使用量的收费模式?

How do you allocate ongoing costs? For internal users, do you have a charge-back model in place as usage and scale increase? For external users, do you have a usage-based model for charging?

图像这是一个外部平台吗?与其他企业的关系需要从开发和运营的角度以及法律的角度非常谨慎地处理。

Is this an external platform? Relationships with other businesses need to be worked through very carefully from both a development perspective and an operations perspective, but also from a legal perspective.

融资平台开发可能具有挑战性,但回报也是巨大的。

Funding platform development can be challenging, but the rewards can be significant.

成功获得融资的关键之一是拥有一位业务方面的宣传者,他能够清晰地阐述构建、支持和迁移到该平台的愿景和商业价值。

One of the keys to successful funding is to have an evangelist on the business side, someone who can articulate the vision and business value of building, supporting, and moving to the platform.

当这一切顺利进行时,您便能够与多个合作伙伴协作开发新功能。这样,合作伙伴便可以加入进来并创建他们可以利用并付费的新功能。之后,第二个业务部门会进一步增强并付费开发。由于这些新功能是在平台内开发的,因此新的增强功能现在也可以免费或几乎不花钱地提供给帮助定义原始功能的团队。

When this is working well, you are able to collaborate across multiple partners in the development of new features. This enables partners to come in and create a new feature that they will leverage and pay for. Later, this development is further enhanced and paid for by a second business unit. Since these new features are developed within the platform, the new enhanced capabilities are now also available to the group that helped define the original feature at little or no cost.

这种跨越式融资有助于在平台开发过程中营造一种社区意识。每个人都可以贡献一点力量来帮助平台建设,每个人都可以利用其他人为平台做出的贡献。

This type of leapfrog funding helps create a sense of community around the platform development. Everyone is able to chip in a little to help get things built, and everyone is able to leverage the work that others add to the platform.

平台监督(指导委员会/咨询委员会)

平台的监督通常由技术(包括架构)和各个业务部门的代表共同完成,这些业务部门积极利用和改进平台以满足他们的需求。

The oversight of a platform is usually some combination of technology (including architecture) and representatives of the various business units that have an active stake in utilizing and improving the platform to meet their needs.

在确定以下事项时,总会出现各种各样的政治问题:

There is always a wide range of political issues that arise in determining the following:

图像谁来决定完成哪些工作?理想情况下,每个参与的业务部门都有机会以某种方式“投票”决定首先解决哪些功能,这反过来又使他们能够帮助确定对他们最重要的平台功能的优先顺序和协商。

Who decides what work gets done? Ideally, each of the contributing business units has the opportunity to “vote” in some manner on which capabilities are addressed first, and that in turn allows them to help prioritize and negotiate for the platform capabilities that are most important to them.

图像组织的哪个层级“拥有”资产?如果一个业务部门“拥有”平台,拥有该业务部门通常似乎会获得不公平的优势并有权接触开发团队。组织上解决这个问题的一种方法通常是让一个不属于任何业务部门的中央开发团队拥有该平台。

What level of the organization “owns” the assets? If one business unit “owns” the platform, the owning business unit usually appears to be getting an unfair advantage and access to the development team. One way this is typically addressed organizationally is to have a central development team that is not a part of any business unit own the platform.

图像什么是公平分配工作的方法?一些组织可能无法为平台开发投入同等水平的资金或资源。关键是要确保那些参与决定应该和不应该进行哪些工作的人为游戏投入了一些资金。

What is an equitable means of allocating work? Some organizations may not be able to commit the same level of funding or resources to the development of the platform. The key is to ensure that those who are at the table determining what should and should not get worked on have committed some funds to the game.

图像您是否允许其他团队为平台贡献工作?大多数平台团队都缺乏资源(时间和人力)。如果您允许其他人在平台上工作,您需要确保采取适当的措施,以保证所做的工作可供各方利用,而不仅仅是为了满足一个领域的需求而进行的黑客攻击。实现这一点的一种方法是限制代码库的提交者数量。

Do you allow other groups to contribute work to the platform? Most platform teams are strapped for resources (time and people). If you allow others to work on the platform, you need to ensure that proper measures are in place to guarantee that the work being done is leverageable by all parties and not just a hack to meet one area’s needs. One way to accomplish this is to have a limited number of committers to the code base.

图像你能开源平台吗?根据平台的性质,你可能能够开源其开发,让真正广泛的开发人员有机会改进它。另一方面,如果该平台被视为内部战略资产,你可能没有选择对外开源,但你可以在公司内部开源。如果是内部的,你仍然需要解决资金问题,即人们在平台上工作时如何分配时间。

Can you open-source the platform? Depending on the nature of the platform, you may be able to open-source its development and let a truly wide set of developers have access to improving it. If, on the other hand, the platform is considered an internal strategic asset, you may not have an option to open-source it externally, but you may be able to open-source it within the corporation. If it is internal, you still need to work out the funding issue in terms of how people allocate their time when they are working on the platform.

图像您将如何展示商业价值?平台可能不会直接为企业创造收入,但需要意识到平台如何为其他应用程序做出贡献,进而使它们能够创造收入。如果您不创造收入或对创造收入没有贡献,您将被视为一项开支。财务人员不喜欢开支。

How will you demonstrate business value? A platform may not directly generate revenue for the business, but there needs to be an awareness of how the platform contributes to other applications and in turn enables them to generate revenue. If you don’t generate revenue or contribute to generating revenue, you will be perceived as an expense. Finance folks don’t like expenses.

拥有一个可靠的平台监督模型对于平台的长期成功至关重要。它能够将业务不断变化的需求纳入平台,从而提高平台与业务的长期相关性。

Having a solid model for platform oversight is critical for the long-term success of the platform. It can enable the changing needs of the business to be incorporated into the platform and, as a result, increase the platform’s long-term relevance to the business.

平台预参与材料

为新的潜在合作伙伴准备一套良好的预聘材料,有助于解决许多早期问题,并让合作伙伴准备好提出更多切中要害的问题,这将使你们的第一次会面对双方来说都更有吸引力。这些预聘材料通常包括

Having a good set of pre-engagement materials ready for new potential partners can help get many of the early questions taken care of and prepare the partners to have more on-point questions that will make your first meetings much more engaging for both parties. These pre-engagement materials usually include

图像 预先录制的产品概述演示。这些演示将使合作伙伴了解新平台的功能,并开始让他们了解其应用程序的潜在差距和潜在的早期优势。

Prerecorded product overview presentations. These will give the partners a sense of the capabilities of the new platform and begin to prepare them to understand potential gaps and potential early wins for their applications.

图像 白皮书。通过这些,新合作伙伴可以了解到与平台集成的其他应用程序部署了哪些内容以及如何部署、平台的哪些用途已经实现、与哪些类型的业务服务集成,以及有关平台及其未来发展方向的其他基本信息。

White papers. From these, new partners can get a sense of what and how other applications that have integrated with the platform have been deployed, what uses of the platform have already been put in place, what kinds of business services have been integrated with, and other basic information about the platform and its future direction.

图像 常见问题解答。一组常见问题解答将解答几乎所有人在首次接触平台团队时都会提出的常见初始问题。

FAQs. A set of frequently asked questions will answer common initial questions that nearly everyone asks when first approaching the platform team.

您对新合作伙伴加入平台的准备越充分,您和合作伙伴就越容易快速开始实际使用该平台。

The more prepared you are for new partners to come onto the platform, the easier it will be for both you and the partners to get a quick jump start to actual use of the platform.

平台项目接收和需求管理

开发一个可靠的机制来接收新的平台需求、变更请求和缺陷对于平台的长期健康至关重要。成功的项目接收的一些关键方面包括:

Developing a solid mechanism for ingesting new platform requirements, change requests, and defects is central to the long-term health of the platform. Some of the key aspects of successful project intake include the following:

图像 提供及时反馈。当平台被要求增加新功能或进行更改时,及时(以天为单位)回复请求者是一种最佳做法。应立即回复请求。估算应在几周内回复。大多数估算请求都带有某种紧迫感,需要快速确定规模,以便请求方及时做出投资决策。对于架构师来说,通常只有非常有限的时间来确定大多数请求的适当解决方案。理想情况下,对于较新的领域,快速的 POC 或两个 POC 可以帮助显著提高所提供估算的可信度。

Providing timely feedback. When new features or changes are requested of the platform, getting back to the requester in a timely fashion (measured in days) is a best practice. Respond nearly immediately as an acknowledgment of the request. Estimates should be responded to within a handful of weeks. Most estimating requests come in with some sense of urgency and need to be sized quickly to enable the requesting party to make investment decisions in a timely fashion. For an architect, there is usually a very limited amount of time in which to determine the appropriate solution for most requests. Ideally for newer areas, a quick POC or two can help significantly improve the confidence level of the estimate that is provided.

图像 处理相互冲突的需求,着眼于运营。通常,当平台收到多个请求时,不同请求之间就会存在冲突,并且可能与平台的长期目标相冲突。挑战在于平衡所有这些需求。从某种意义上说,您要在保持卓越运营的同时实现共同利益。

Dealing with conflicting requirements with an eye toward operations. Often when multiple requests are made of the platform, there are conflicts between the different requests and potentially conflicts with the platform’s long-term objectives. The challenge is balancing all of these needs. In some very true sense, you are managing to the common good while maintaining operational excellence.

图像 与公司目标保持一致。作为平台团队,您的忠诚对象不是特定业务部门,而是整个公司的更大利益。了解和理解公司的战略目标对于帮助指导架构平台决策至关重要。

Aligning with company goals. As a platform team, your allegiance is not to a specific business unit but to the greater good of the overall company. Knowing and understanding the company’s strategic goals are critical to helping guide architectural platform decisions.

图像 意识到您与最终客户至少相隔一步。对于大多数平台开发,您和您的团队并不直接与最终客户互动。通常有另一个小组、业务部门或应用程序与“真正的”客户互动。花时间与请求者会面,尝试更深入地了解实际请求的内容,确定哪些替代方案可以接受,并了解请求不同方面的优先级。即使您与客户相隔几步,也要尝试培养和保持对客户的关注。

Realizing that you are at least one step removed from the end customers. For most platform development, you and your team are not directly interacting with the end customers. There is normally another group, business unit, or application that is interacting with the “real” customer. Take the time to meet with the requester to try to gain a deeper understanding of what is really being requested, to determine what alternatives may be acceptable, and to get a sense of the priority of the different aspects of the request. Try to develop and maintain customer focus even if you are a few steps removed.

卓越地管理项目承接对于保持平台在瞬息万变的技术世界中蓬勃发展至关重要。

Managing project intake with excellence is essential to keeping a platform thriving in the ever-changing world of technology.

平台入职

让新合作伙伴快速上手并开始使用平台是一项简单且早期的成功,可以带来巨大的回报,包括与新合作伙伴建立良好的关系和积极的发展轨迹。花时间为顺利的入职体验做准备将有助于新合作伙伴的管理人员和技术人员。良好的入职体验通常包括

Getting new partners up and running quickly on the platform is an easy and early win that can pay great dividends with respect to goodwill and a positive trajectory with your new partners. Taking the time to prepare for a smooth on-boarding experience will help with both the management staff and the technical staff of the new partners. A good on-board experience usually includes having

图像 架构概述。这些将使新合作伙伴对平台的工作原理、结构以及未来发展的路线图有扎实的概念和技术理解。

Architectural overviews. These will give the new partners a solid conceptual and technical understanding of how the platform works, how it is structured, and what is on the roadmap for future development.

图像 脚本化现场演示。平台团队中的任何人都可以创建这些。

Scripted live demos. Anyone on the platform team can create these.

图像 为新客户指派经过培训的员工。员工可以处理客户可能遇到的任何问题,并确保问题得到及时答复。在流程的早期,这些任务可以由架构师处理,但随着客户数量的增加,随着平台需求的增长,这些任务需要由其他人处理,以确保良好的客户服务。

Trained staff assigned to new customers. Staff can take care of any questions the customers may have and ensure that questions are answered promptly. Early on in the process these tasks can be handled by the architects, but with an increasing number of clients they need to be handled by others to ensure good customer service as the platform demand grows.

图像 常见平台用途的丰富参考实现。这些应该很容易下载并在几分钟内运行。这将有助于为您的合作伙伴提供快速流畅的“Hello, Platform!”体验。您希望这变得简单而轻松。

Rich reference implementations of common platform uses. These should be easy to download and run in a handful of minutes. This will help enable a quick and smooth “Hello, Platform!” experience for your partners. You want this to be easy and painless.

图像 API 浏览器。开发人员可以利用该浏览器试用该平台,了解围绕该平台的概念模型,并更快地开始在该平台上进行开发。

An API explorer. This enables the development staff to play around with the platform in order to get a sense of the conceptual model that surrounds it and to give them a quicker start on developing on or against the platform.

平台认知和接受度

一旦你开始开发一个平台,让整个公司或行业对它产生认识可能是一个挑战:

Once you have started to develop a platform, creating awareness of it throughout the company or industry can be a challenge:

图像如何让其他人知道您的平台?如何让人们知道该平台的存在并让他们知道有哪些可能性?在内部,拥有执行发起人是传播信息的绝佳方式。发起人通常拥有跨业务部门的联系,可以推动事情的发展。或者,在不同业务部门进行路演也是在公司内部制造轰动的另一种方式。在外部,这实际上是营销和销售的工作。但是,您可以采取任何措施来准备演示、培训和白皮书,以帮助简化他们的工作。

How do you make others aware of your platform? How do you make people aware that the platform exists and let them know what is possible? Internally, having an executive sponsor can be an excellent way to get the message out. A sponsor typically has the connections to reach across the various business units to get things moving. Alternatively, going on road shows to the different business units is also another way to develop a buzz within the company. Externally, this is really the job of marketing and sales. However, anything you can do to have demos, training, and white papers prepared can help simplify their job.

图像您是否有功能路线图及其时间安排?您如何确定路线图上的内容?它是基于需求的吗?讲述您目前所处的位置和计划发展的方向的能力将有助于让您的潜在客户或客户相信,如果他们承诺转向您的平台,他们将拥有一套可靠的新功能来提供给他们的客户。这也让他们有机会让您知道您可能存在的任何差距让您更好地了解您可能需要进行的任何调整。

Do you have a roadmap of features and their timing? How do you determine what is on the roadmap? Is it demand based? The ability to tell the story of where you are and where you are planning to go will help give your potential partners or customers the confidence that if they make the commitment to move onto your platform, they will have a solid set of new features to give to their customers. It also gives them the opportunity to let you know of any gaps you may have and gives you a better sense of any adjustments you may need to make.

图像您是否与行业趋势保持一致?表明您与行业或潜在相邻行业的趋势保持一致将有助于您和您的客户跟上竞争的步伐,理想情况下至少领先他们一步。

Are you aligned with industry trends? Showing that you are aligned with trends within your industry or potentially adjacent industries will help both you and your customers keep up with the competition and ideally stay at least one step ahead of them.

图像你正在做的事情有什么独特之处?你的价值在哪里?这是其他领域愿意花钱购买的东西吗?你需要知道你的关键价值主张是什么。你有什么特别之处让你在竞争中脱颖而出?你需要能够让自己与众不同。

What is unique about what you are doing? Where is your value? Is that something other areas are willing to pay for? You need to know what your key value proposition is. What is the special sauce you bring to the table that makes you stand out against the competition? You need to be able to differentiate yourself.

图像您是否支持快速应用程序开发?用户在平台上快速启动和运行的能力至关重要,而拥有最可能选择的选项的默认配置可以帮助您的客户做到这一点。一旦他们有机会试用并熟悉系统,他们就可以稍后自定义内容。您需要在几乎不需要配置的情况下进入“Hello, Platform!”。通过适当的文档支持自助服务的能力对于使客户能够快速启动和运行并帮助最大限度地降低客户支持成本大有裨益。

Do you enable quick application development? The ability for users to get up and running quickly on a platform is essential, and having default configurations of the most likely chosen options can help your customers do this. They can customize things later once they have had a chance to play around and get comfortable with the system. You need to get to “Hello, Platform!” with little or no configuration necessary. The ability to support self-service with appropriate documentation can go a long way toward enabling customers to get up and running quickly and help minimize your customer support costs.

缺乏简单的参考应用程序来演示平台的使用方法可能会阻碍平台的采用。

The lack of simple reference applications demonstrating the use of the platform can be an impediment to platform adoption.

图像是否可以从一小部分核心热情客户开始?理想情况下,您有机会在平台核心稳固之前,暂缓建立广泛的客户群;否则,您将处理大量运营问题和担忧,并可能毁掉您辛苦打造的品牌。

Is it possible to start with a small set of core passionate customers? Ideally, you have the opportunity to hold off on having a broad customer base until the core of the platform is solid; otherwise, you will deal with mass operational issues and concerns and may destroy the brand you have worked so hard to develop.

图像你的名字、品牌、口号、图像等等是什么?你是谁以及你想要展现的形象需要清晰明了。你所做的一切都需要联系在一起并呈现一个共同的品牌。尽早制定品牌标准至关重要。任何与你试图展现的品牌不一致的东西都会有意或无意地引发人们对你正在做的事情的质疑。

What is your name, brand, slogan, iconography, and so on? Who you are and the image you want to project need to be crisp and clear. Everything you do needs to be tied together and present a common brand. Working early toward having branding standards is critical. Anything that doesn’t align with the brand you are trying to project simply raises questions about what you are doing, either consciously or subconsciously.

平台管理

Platform Management

清晰地了解平台如何管理对于明确方向和整个平台的稳定性非常重要。

Having a clear understanding of how the platform will be managed is important for clear direction setting and the stability of the platform as a whole.

图像谁控制着平台的功能?从整个公司的角度来看,选择合适的团队来拥有和管理平台非常重要。你要确保他们把客户的最大利益放在心上,而不仅仅是代表平台所在业务部门的利益。

Who is in control of the capabilities of the platform? From an overall company perspective, picking the right group to own and manage the platform is important. You want to ensure that they will have their customers’ best interests at heart and not just represent the interests of the business unit in which the platform resides.

图像是否有一个核心人物充当平台的仁慈独裁者,或者是否有一个社区流程来管理这些功能?有时,让一个人来监督、指导和指挥一个平台会很有效。关键是这个人需要有很好的商业和技术敏锐度。他或她需要有能力销售平台,并知道如何以最有利于整个业务的方式推动平台的发展。或者,如果指导小组的成员同意他们所追求的总体愿景,那么让指导小组履行这一职能也是可行的。

Is there a central person who acts as the benevolent dictator of the platform, or is there a community process that manages the capabilities? Sometimes having a single person who can oversee, guide, and direct a platform can work out well. The key is that this person needs to have a great business as well as technology acumen. He or she needs to have the ability to sell the platform and to know how to drive development of the platform in a way that will best benefit the business as a whole. Alternatively, having a steering group perform this function can also work if its members agree on the overall vision they are shooting for.

图像您如何共享功能?从平台的角度来看,您需要了解人们利用功能的模型是什么。您是否希望实现一个多租户环境,其中有软件的通用实例,这些实例知道如何在每个线程上在用户上下文中运行,还是客户托管他们自己的版本?

How do you share capabilities? From a platform perspective, you need to understand what the model is for people to leverage capabilities. Are you looking to implement a multitenant environment where there are common instances of the software that understand how to run in the context of a user on every thread, or do customers host their own versions?

图像其他平台的发展方向如何?理想情况下,整个公司正在开发的平台应遵循通用标准、模式和指导方针,为正在制作的作品提供统一的外观和感觉。统一性将有助于减少平台用户的入门时间,理想情况下可以最大限度地减少上手的繁琐程序。

Where are other platforms going? Ideally, the platforms that are being developed throughout the company are following common standards, patterns, and guidelines to give a uniform look and feel to the work that is being produced. Uniformity will help reduce the ramp-up time for users of the platform and ideally minimize the ceremony of getting up to speed on it.

图像谁有能力添加代码?您的开发模式可以极大地影响您需要在平台上实施的控制。您是否采用集中式开发,即由一个团队拥有和管理代码?或者您是否采用联合开发模式,即多个团队可以为代码库做出贡献?无论是哪种情况,您都需要了解谁在积极监督所提交的更改,以确保它们符合平台的愿景和质量。

Who has the ability to add code? Your development model can dramatically affect the controls that you need to have in place around the platform. Do you have centralized development, where a single group owns and manages the code? Or do you have a federated development model, where multiple groups can contribute to the code base? In either case, you need to understand who is providing the active oversight of the changes being committed to ensure that they are in line with the vision and quality of the platform.

图像是否有设计模式可以帮助平台的采用和运行?随着平台的成熟,尝试识别和命名出现的模式和习语。这些可以帮助提高新功能开发过程中需要进行的对话水平。

Are there design patterns that can help the adoption and operation of the platform? As the platform matures, try to identify and name the patterns and idioms that emerge. These can help raise the level of conversation that needs to occur during the development of new features.

图像那么国际化呢?如今大多数公司所面对的都是全球化的,因此平台的国际化必须从最初的开发工作开始就到位。

What about internationalization? The global nature of what most companies are dealing with today makes internationalization of a platform something that needs to be in place from the very initial development efforts.

平台参与并购

并购是公司增加收入或获得产品组合中缺少的新功能的绝佳方式。但是,尝试引入新收购并将其功能“合并”到您试图磨练和完善的整体平台开发模型中可能非常具有挑战性,而无需进行大量的开发工作。为了尽量减少这种情况:

Mergers and acquisitions can be a great way for companies to increase their revenue growth or to acquire new capabilities that are missing from their product portfolio. However, trying to bring in a new acquisition and “merge” its capabilities into the overall platform development model you are trying to hone and refine can be very challenging without requiring a significant development effort. To help minimize this:

图像让熟悉该平台的人员加入收购团队,帮助评估所购买资产与该平台的整体契合度。

Have someone familiar with the platform involved with the acquisitions team to help evaluate the overall fit of the assets that are being purchased with respect to the platform.

图像了解如何将新收购的产品整合到平台中。尝试寻找架构风格之间的相互作用。例如,购买的产品可能是为了安装桌面软件,但您拥有的是基于云的软件即服务 (SAAS) 解决方案。

Have an understanding of how you would incorporate the new acquisition into the platform. Try to look for how closely the architectural styles will interact with each other. For example, the purchase may be for installed desktop software, but you have a cloud-based software as a service (SAAS) solution.

图像寻找可能存在并降低购买总体价值的开源问题、监管问题和法律问题。

Look for open-source issues, regulatory issues, and legal issues that may exist and reduce the overall value of the purchase.

图像清楚了解任何身份或权利问题。

Get a clear understanding of any identity or entitlement issues.

图像了解收购和合并的总体目标。它们可能更注重收入增长而不是平台扩展。如果是这样,进行收购的人需要意识到收购可能导致的总体能力扩张和客户困惑。

Understand the overall goals of the acquisition and merger. They may be more about revenue growth than platform expansion. If this is the case, those who are making the purchase need to be aware of the overall capability sprawl and customer confusion that may result from the purchase.

图像确保将这些功能纳入平台主流的变更成本已计入购买的总体成本结构中,以便完成收购后需要进行的开发工作。

Make sure the costs of the changes to mainstream these capabilities into the platform are accounted for in the overall cost structure of the purchase to enable the development work that will need to occur after the acquisition is completed.

当平台团队不参与并购时,可能出现的一个问题是,重复的功能可能会被不完全了解平台功能的业务部门购买。当企业想要集中这些功能时,这可能会导致未来出现问题,并且需要消除冗余。

One of the problems that can occur when the platform team is not involved in mergers and acquisitions is that duplicative capabilities may be bought by business units that are not fully aware of platform capabilities. This can lead to future issues when the business wants to centralize these capabilities and the redundancies need to be removed.

平台参与整合公司资产

由于平台关键功能的开发是在公司内部进行的,因此将相关公司资产整合到平台中可能具有挑战性。那些需要开始利用平台的人可能不太愿意放弃对他们目前管理的重复功能的控制。其他人会很乐意转向平台,以帮助减少他们的总体费用并获得新功能。该平台将使他们能够专注于业务中的专业领域。需要有适当的高层管理指令和监督来推动业务中的正确行为,才能使平台取得成功。

As the development of key platform capabilities occurs within a company, working to consolidate related company assets into the platform can be challenging. Those who need to begin leveraging the platform may have little or no interest in giving up the control of the duplicative capabilities they currently manage. Others will gladly move to the platform to help reduce their overall expenses and to access new capabilities. The platform will enable them to focus on their area of specialization within the business. Having the right level of high-level executive directives and oversight to drive the right behavior within the business is needed to make the platform successful.

平台参与资产剥离

随着公司的扩张、成长和变化,它可能会选择剥离其整体资产组合中的某些资产。这样做的原因可能多种多样。在考虑剥离哪些资产时,请花时间仔细考虑剥离领域在业务中可能存在的所有集成点。这些包括业务系统、技术系统、服务、硬件、网络和人员配置。可能需要付出大量努力才能理清剥离的资产并将其重新托管到您的环境之外。通常会有很多隐性成本分摊到不同的业务功能中。

As the company expands, grows, and changes, it may choose to divest certain assets within its overall portfolio. This may be done for a variety of reasons. As you consider what is being divested, take the time to closely consider all of the integration points the divested area may have within the business. These include business systems, technology systems, services, hardware, networking, and staffing. A significant amount of effort may be required to untangle the divested asset and get it rehosted outside of your environment. There are usually a lot of hidden costs that are amortized across different business functions.

谨慎扩展平台的扩展和增长

在考虑平台的发展方向时,你需要了解企业在特定领域的投资意愿。如果没有支持,则要谨慎地向该领域扩张。

As you consider the direction for the platform, you need to be aware of the willingness of the business to invest in a particular area. If the support is not there, be cautious about expanding into that area.

作为平台架构师,您要愿意考虑偶尔采用与您的核心功能不匹配的“奇怪”的应用程序,以帮助拓展您的视野。

As a platform architect, be willing to consider taking the occasional “weird” app that doesn’t match your core capabilities to help expand your horizons.

您做出的决定可能会持续至少十年;请谨慎选择。

The decisions you make will likely last at least a decade; choose carefully.

平台开发

Platform Development

通常,创建平台所面临的开发挑战比其他项目更复杂,需要一批更具战略思维的开发人员。花时间培养合适的团队对于实现可利用的高质量代码至关重要。

Normally the development challenges around creating a platform are more complex and need a more strategic-thinking set of developers than for other projects. Taking the time to groom the right team is critical to enable high-quality code that is leverageable.

图像您是否聘用承包商?问题在于,他们花费很多,虽然可以让您快速交付,但风险是质量下降。聘用合适的人。

Do you use contractors? The challenge is that they cost a lot and may allow you to deliver quickly, but the risk is a loss of quality. Hire right.

图像您是否可以通过各种方式在组织内展示您的新技术并吸引顶尖人才?您需要了解哪些领域是人们感兴趣的,哪些领域是您所在公司和所在地区的开发社区关注的。这将帮助您制定招聘信息。

Are there ways for you to show off your new technologies within the organization and attract the top talent? You need to understand what areas are of interest and what areas cause concern within the development community in your company and region. This will help you craft your hiring message.

图像您如何管理功能开发需求?由于缺乏开发资源,大量需求可能会导致平台的采用速度减慢。您可能非常成功地将平台出售给其他人,但并没有提供所有功能来满足他们的“核心”能力。需要确定这些差距并将其放在总体架构路线图上。这将让您的合作伙伴了解他们何时可以加入平台以及加入平台可能涉及的成本。

How do you manage demand for the development of features? Heavy demand may cause adoption of the platform to slow down due to lack of access to development resources. You may have been very successful in selling the platform to others but not have all of the features to cover their “core” capabilities. These gaps need to be identified and placed on an overall architectural roadmap. This will give your partners a sense of when they can join the platform and the costs that may be involved in doing so.

图像开发人员是否清楚了解您要提供的服务质量?他们是否正在开发或获取工具来确保这种质量水平?平台开发需要高质量的代码。确保开发人员有这样的心态;在添加功能时,他们遵循您的团队制定的标准;并且用于监控、配置和部署的操作工具都已充分考虑。

Does the development staff have a clear understanding of the quality of service you are seeking to deliver? Are they developing or acquiring tools to ensure this level of quality? Platform development requires high-quality code. Make sure that the developers have this in their mindset; that when features are being added they follow the standards your team has established; and that the operational tools for monitoring, configuring, and deploying are all fully accounted for.

图像您如何管理操作系统、JVM 配置和其他工具或服务?平台的文档级别往往高于典型的应用软件开发。适当记录运行时和其他操作要求可以使将新功能转换为生产的过程变得更简单。

How are you managing operating systems, JVM configurations, and other tools or services? The level of documentation around a platform tends to be higher than for typical application software development. Appropriately documenting the runtime and other operational requirements can make transitioning new capabilities into production a simpler process.

图像您是否正在从应用程序转型为平台?如果是,请尽量减少对现有客户的影响。您需要他们的支持,尤其是在早期。

Are you transforming from application to platform? If so, try to minimally impact your current customers. You need their support, especially in the early days.

图像何时进行技术更新?您需要跟上技术发展,以保持平台的相关性并避免萎缩。挑战在于以最大程度地减少干扰的方式进行更新,并且不会导致您放弃现有客户。

When to tech refresh? You want to stay current with technologies as they advance to keep your platform relevant and avoid atrophy. The challenge is to do this in a manner that minimizes disruption and does not cause you to abandon current customers.

图像对于某些技术,任何许可或支持的成本是多少?您需要小心不要太贵。您的目标必须是保持成本效益。企业需要快速上市和低成本,以帮助实现利润最大化并保持市场领先地位。

What is the cost of any licensing or support with respect to certain technologies? You need to be careful about being too expensive. Your goal needs to be to maintain cost-effectiveness. The business needs both speed to market and low cost to help maximize profit and maintain market leadership.

图像哪里是合适且经济高效的部署地点?这个平台应该部署在物理服务器上吗?云服务器?虚拟化服务器?还是应该根据环境和需求进行混合部署?正确的部署选项组合可以帮助您管理总体成本。使用虚拟或云部署可以帮助您快速进入较低的开发和测试环境,避免一些长期配置物理服务器可能存在的流程。您是否需要执行大规模测试工作?如果是,您是否拥有硬件基础设施来处理这些工作,或者您是否可以访问其中一个生产站点来提供帮助?将实时流量路由到其他生产站点之一可以帮助进行实际规模测试,并有助于最大限度地降低维护单独规模环境的成本。

Where is the appropriate and cost-effective place to deploy? Should this platform be deployed on physical servers? Cloud servers? Virtualized servers? Or should it be some mix based on environment and demand? The right combination of deployment options can help you manage your overall costs. Using virtual or cloud deployments can help with your ability to move quickly into lower development and testing environments by avoiding some of the long provisioning processes that are likely to exist for physical servers. Do you need to perform large-scale testing efforts? If so, do you have the hardware infrastructure to account for them, or can you access one of the production sites to help? Routing live traffic to one of the other production sites can help get real-scale testing in and help minimize the cost of maintaining a separate scale environment.

图像在客户现场部署平台是否有要求?如果有,谁负责部署和升级计划?确保在与客户的任何合同谈判中涵盖这些项目。您需要或将拥有哪种系统访问权限?需要哪种支持?这会如何影响您的文档?这会如何影响您的部署难易程度?是否有服务人员参与?这可以从外部管理吗?进行现场部署可能会解决客户的安全和监管问题,但它们会大大增加管理平台的复杂性和成本结构。需要在企业内部仔细权衡这些问题,以确保这是您愿意致力于的领域。探索在客户区域或国家边界内的安全云部署可能是一种可接受的替代方案。确保您向客户销售的任何路径都是您拥有技术和运营深度来管理的路径。

Are there requirements to be able to deploy the platform on customer sites? If so, who owns the deployment and upgrade schedule? Make sure these items are covered in any contractual talks with the customer. What kind of access do you need or will you have to the systems? What kind of support is required? How will this affect your documentation? How will this affect your ease of deployment? Are there service personnel involved? Can this be managed externally? Doing on-site deployments may address the security and regulatory concerns of the customer, but they dramatically increase the complexity and cost structure of managing the platform. These issues need to be weighed carefully within the business to ensure that this is an area that you are willing to commit to. Exploring secure cloud deployments that are in the regional or national boundaries of the customer may be an acceptable alternative. Ensure that whatever path you are selling to the customer is one that you have both the technical and operational depth to manage.

图像您多久部署一次、何时部署?这对平台上的应用程序有何影响?您如何应对 API 更改?您如何确保对客户的影响最小?部署可能会对实时客户产生巨大影响。回归测试可以发挥关键作用,确保新软件在部署期间能够为您平台上的所有合作伙伴正常运行。您需要确保您的 API 更改已进行版本控制,并且更改向后兼容。您需要确保在部署时以不影响实时客户的方式耗尽站点或实例。您需要提前向合作伙伴通报您的更改,以便他们能够对可能影响他们的任何更改做出反应并制定计划。当今大多数平台面临的挑战是,人们期望它们 24×7 全天候运行。能够进行滚动部署、回滚更改、通过操作控制在运行时打开和关闭功能,以及能够将功能发布到有限的用户或合作伙伴,这些都是大规模平台开发所关注的领域。

How often and when do you do deployments? What impacts are there to the applications on the platform? How do you manage through API changes? How do you ensure minimal impacts to customers? Deployments have the ability to dramatically impact live customers. Regression testing can play a critical role in assuring that the new software will behave properly for all of the partners that you have on your platform during deployments. You need to ensure that your API changes are versioned and that your changes are backward compatible. You need to ensure that as you do your deployments you have drained the site or instances in a manner that does not impact live customers. You need to message your changes to partners far enough in advance that they can react and plan for any changes that may impact them. The challenge with most platforms today is that there is an expectation of their being up 24×7. Having the ability to do rolling deployments, to roll back changes, to turn features on and off at runtime through operational controls, and to be able to target the release of features to a limited set of users or partners are all areas of concern for large-scale platform development.

图像你如何管理你的知识产权?你申请过专利吗?你经常会见知识产权专家吗?律师来决定是否有任何值得申请专利的想法?花时间确保您为构建平台所做的所有工作都受到保护,从业务角度来看非常重要。它有助于企业将平台作为公司的金融资产进行管理。

How do you manage your intellectual property? Have you applied for any patents? Do you regularly meet with an intellectual property lawyer to determine if there are any ideas worth pursuing for a patent? Taking the time to ensure that all of the work you have done to build the platform is protected is important from a business perspective. It helps the business to manage the platform as a financial asset for the company.

确认与平台相关的成本

Acknowledging the Costs Associated with the Platform

开发平台是一件有趣而令人兴奋的事情。然而,开发、维护和运营成本比其他项目要高。除非有能力充分利用该平台,否则可能不值得投资来支持相关成本(见图6.4)。

Developing platforms is a fun and exciting endeavor. However, the development, maintenance, and operational costs are higher than for other projects. Unless the ability to significantly leverage the platform exists, it may not be worth the investment required to support the associated costs (see Figure 6.4).

图像

图 6.4平台成本:构建平台是一项昂贵的提议,但有很多好处。

Figure 6.4 Platform costs: building platforms is an expensive proposition but with many benefits.

由于平台的共同依赖关系,如果出现问题,使用该平台的应用程序集也会面临额外风险。如果应用程序管理不当,它们还可能相互影响。

There is also added risk to the set of applications using the platform due to the common dependencies of the platform if something goes wrong. If the applications are not properly managed, they also have the ability to impact one another.

平台承诺可以创建一个环境,大大减少开发应用程序所需的时间和精力,并分担与管理运营相关的成本。这可以让使用该平台的企业投资其他领域。由于平台的多维性质,确定实际成本、成本节约、降低风险、提高产品速度和其他可衡量的积极效益(包括可归属收入)对平台来说可能具有挑战性。

Platforms raise the promise that they can create an environment where the time and effort to develop applications is significantly reduced and the costs associated with managing the operations can be shared. This can enable the businesses that use the platform to invest in other areas. Determining the actual costs, cost savings, reduced risks, improved product velocity, and other measurable positive benefits including attributable revenue can be challenging for platforms due to their multidimensional nature.

管理平台质量

Managing Platform Quality

平台的质量直接关系到

The quality of a platform is directly related to

图像 注重能力之间的松散耦合。

Focusing on loose coupling between capabilities.

图像 目标是实现较高的代码覆盖率。关注系统中的错误路径;顺利的路径会自行解决。

Aiming for a high percentage of code coverage. Focus on the error paths through the system; the happy paths will take care of themselves.

图像 鼓励高水平的模拟。这有助于将测试重点放在被测试的类上,而不是其依赖项上,包括其他类和耗时的资源(例如访问数据库)。

Encouraging a high level of mocking. This helps focus tests on the class being tested, not its dependencies, including other classes and time-consuming resources such as accessing databases.

图像 管理技术债务。如果代码中有每个人都害怕的部分,那么就把它们删除吧;它们会导致系统的这些部分产生熵,并导致每个人都自然而然地想要避开它们。

Managing tech debt. If there are areas of the code that everyone is afraid of, get rid of them; they will cause entropy to occur in those areas of the system and cause everyone to naturally want to steer clear of them.

图像 执行各种不同类型的测试(功能、规模、临时、自动化、端到端和用户)。

Performing a variety of different kinds of tests (functional, scale, ad hoc, automated, end-to-end, and user).

图像 确定向后兼容的时间范围。如果将向后兼容延长很长一段时间,则会增加代码库的复杂性;如果不这样做,则可能会强迫不善于应对变更的客户做出变更。

Determining the time frame of backward compatibility. If you extend backward compatibility for a long time, it adds to the complexity of the code base; if you don’t, you may be forcing changes on your customers who are not in a good position to deal with change.

图像 谨慎对待数据库和数据模型的变化。

Being cautious about database and data model changes.

平台集成

Platform Integration

了解其他人希望如何与您的平台集成,有助于确定如何构建功能和访问点。您需要考虑以下几点:

Understanding how others desire to integrate with your platform can help determine how you structure features and access points. You need to consider the following:

图像您将在架构堆栈中的哪些点允许访问?在架构堆栈中拥有明确定义的访问点将有助于您的合作伙伴了解他们需要如何进行平台集成。

At what points within the architecture stack will you allow access? Having well-defined access points within the architecture stack will help aid your partners in understanding how they need to approach platform integration.

图像您的客户是否希望提供自己的用户界面并只想访问服务层?或者他们只是希望在现有平台应用程序上提供新外观,并进行简单快速的配置以处理品牌和外观相关项目?拥有不同级别的杠杆将使您的平台对更广泛的潜在客户更具吸引力。这也可能导致客户对应该利用什么感到困惑。

Are your customers looking to provide their own user interface and simply want to access a services layer? Or are they simply looking for providing a new skin on an existing platform application with simple and quick configuration to deal with branding and look-and-feel-related items? Having different levels of leverage will make your platform more appealing to a broader set of potential customers. It may also cause customer confusion about what they should leverage.

图像您是否可以通过其他方式利用其他内部或外部平台并避免所有权费用(建立核心能力而非相邻能力)?利用其他平台的能力可能会产生协同效应并降低成本,而这在其他情况下可能无法实现。

Are there ways for you to leverage other internal or external platforms and avoid the ownership expenses (establish core capabilities versus adjacent capabilities)? The ability to leverage other platforms may create synergies and cost reductions that might not otherwise be achievable.

图像有没有办法利用通用资产来实现更清晰的集成?有没有模块或组件化的概念,可以让平台的较小单元可用,而无需使用整个平台?每种功能与平台其他功能的松散耦合程度越高,正交开发和增长就越有可能实现。否则,平台萎缩将会蔓延。

Are there ways to leverage common assets to enable cleaner integrations? Is there a notion of modules or componentization that can make smaller units of the platform usable without having to consume the entire platform? The more that each of the capabilities has loose coupling with the other capabilities of the platform, the more orthogonal development and growth can occur. Otherwise, platform atrophy will be encroaching.

图像一旦决定整合到一个平台,您将如何整合应用程序?整合硬件?整合业务模式(可能不需要这样做)?整合能力?制定整合路线图有助于缓解每个人对时间的担忧,并有助于识别可能潜伏的问题。

Once decisions have been made to consolidate to a platform, how do you work toward consolidating applications? Consolidating hardware? Consolidating business models (which may not need to be done)? Consolidating capabilities? Developing a roadmap of how the consolidation will occur can help ease everyone’s concerns about the timing and help to identify issues that may be lurking.

图像集成类型是更同步和事务性,还是更注重批量和大宗?其他人打算如何与系统集成会对系统的扩展方式产生巨大影响。请务必尽早了解这一点,以确保您提供的平台访问权限对他们和您都适用。

Is the type of integration more synchronous and transactional, or is it more batch and bulk oriented? How others intend to integrate with the system can have a dramatic impact on how the system scales. Make sure you understand this early on to ensure that the access you are providing into the platform will work well for them and for you.

图像您的系统是否需要支持移动设备?如果是,它只是移动网络还是需要原生应用程序?如果是原生的,它需要支持哪些平台?它是否需要支持离线移动设备?移动问题在整个架构堆栈中处于较高位置,因此可以随着市场需求的变化处理更多的变化和变化。关键是要清楚地确定架构堆栈中关键功能的位置,并了解离线访问这些功能的影响。

Does your system need to support mobile? If so, is it simply mobile web or does it require a native application? If it is native, what platforms does it need to support? Does it need to support offline mobile? Mobile concerns are higher up in the overall architectural stack and as a result can deal with more variability and changes as market needs change. The key is to clearly identify the location of key capabilities within the architectural stack and to understand the impacts of offline access to those capabilities.

我见过一些平台一开始就将功能与特定业务系统紧密集成的例子。业务与系统的紧密耦合系统和平台的紧密耦合使用户能够快速启动和运行。不幸的是,这种紧密耦合也导致平台成为新应用程序使用平台的主要痛苦和延迟来源,因为它们使用不同的业务系统。

I have seen instances where a platform started out with capabilities tightly integrated with specific business systems. This tight coupling of the business system and the platform enabled the users to get up and running quickly. Unfortunately, this tight coupling also caused the platform to be a major source of pain and delay for new applications that wanted to utilize the platform because they used different business systems.

最后,要保持灵活性,并允许不同企业灵活地与平台进行不同类型的集成。他们越容易利用该平台,该平台就越快取得成功。

In the end, be flexible and allow for flexibility in the different kinds of integrations that various businesses may want with the platform. The easier it is for them to leverage the platform, the faster the platform will become a success.

可扩展性

Scalability

有关可扩展性的详细信息,请参阅第 7 章架构视角”。

For detailed information on scalability, please see Chapter 7, “Architectural Perspective.”

安全

Security

有关安全性的详细信息,请参阅第 8 章治理”。

For detailed information on security, please see Chapter 8, “Governance.”

指导原则

Guiding Principles

坚持指导原则有助于建立坚实的平台并延长其整体寿命。

Adhering to guiding principles can help establish a solid platform and extend its overall life.

追求卓越品质

Seek Exceptional Quality

平台所体现的杠杆作用和重用性要求其质量水平远高于典型应用程序所需的质量水平。平台的广泛用途往往会给其带来许多不同的压力,因此需要高质量的代码和高质量的自动化测试,以确保不仅新功能可靠,而且不会对依赖其稳定性的用户引入平台内的意外更改。一般而言,这使得平台代码的开发工作变得更加昂贵,同时也强调了需要专注于仅添加那些将被大量利用的功能。

The nature of leverage and reuse embodied within a platform drives the need for much higher levels of quality than would be necessary in a typical application. The wide variety of uses of the platform tends to stress it in many different dimensions, which results in the need for high-quality code and high-quality automated testing to ensure that not only are the new features solid, but no unintentional changes within the platform are introduced to those who depend on its stability. In general, this makes development efforts for platform code a more expensive proposition and also highlights the need to focus on adding only those features that will be heavily leveraged.

追求卓越运营

Seek Operational Excellence

对于多租户平台环境来说,平台的运营需求通常要复杂得多。确保解决安全、监管和隐私问题的能力是平台的底线环境。花时间购买和开发适当的操作工具来

The operational needs of a platform are usually much more complex for a multitenant platform environment. Your ability to ensure that security, regulatory, and privacy concerns are addressed is table stakes in a platform environment. Take the time to purchase and develop the appropriate operational tools to

图像确保平台运行具有必要的洞察力,以帮助制定增长规划

Ensure that the platform operates with the insights necessary to help with growth planning

图像诊断特定客户问题

Diagnose specific customer issues

图像检测安全漏洞

Detect security breaches

图像检测故障

Detect failures

图像当资源接近临界水平(如存储已满)时发出警报

Alert when resources are approaching critical levels (such as storage full)

图像启用动态功能访问和控制

Enable dynamic feature access and controls

拥有适合平台的运营工具有助于实现切实可行且可持续的大幅增长。

Having the appropriate operational tools for the platform can help make dramatic growth both feasible and sustainable.

寻求可配置性而非硬编码

Seek Configurability over Hard Coding

在开发平台代码时,只需在平台中添加分支逻辑即可选择要执行的代码。虽然这可能是让某些功能正常工作的“快速解决方案”,但它会增加整个代码库的脆弱性。花点时间学习如何通过外部配置、控制反转或动态操作控制来实现相同的行为。

In the development of platform code, it is easy to simply add in branching logic within the platform to choose which code to execute. Although this may be the “quick fix” to get something working, it adds brittleness to the overall code base. Take the time to learn how to enable the same behavior through external configuration, inversion of control, or dynamic operational controls.

如果你确实引入了技术债务,请跟踪它并创建故事以快速处理它。如果你不控制技术债务,它可能会极大地拖累你未来的开发速度。

If you do introduce technical debt, keep track of it and create stories to deal with it quickly. Technical debt can weigh down your future development velocity dramatically if you don’t stay on top of it.

寻求杠杆作用

Seek Leverageability

平台需要以支持最广泛的用例和最多的合作伙伴的方式进行开发。向平台添加特定于合作伙伴的代码会降低其整体价值。解决此问题的一种方法是与客户合作提出新功能请求并概括他们的要求。这将使这些功能更广泛地适用,并实现您为平台寻求的杠杆机会。

Platforms need to be developed in a manner that supports the broadest set of use cases and the greatest number of partners. Adding partner-specific code to a platform dilutes its overall value. One way to address this is to partner with customers for new feature requests and generalize what they are requesting. This will allow for the features to be more broadly applicable and enable the leverage opportunities that you are seeking for the platform.

寻求冗余架构

Seek Redundant Architecture

平台应内置多级冗余,以实现可扩展性、可用性和可靠性。这包括拥有多个物理位置、使用集群技术、使用附近的缓存持久性、进行备份以及使用其他方法,允许关键组件发生故障,但允许整个系统继续运行,且中断最少。冗余通常倾向于横向扩展方法,而不是纵向扩展方法。

Platforms should have multiple levels of redundancy built into them to enable scale, availability, and reliability. This includes having multiple physical locations, using clustering techniques, using caches with nearby persistence, making backups, and using other approaches that enable critical components to fail but allow the overall system to continue to function with minimal disruption. Redundancy generally favors a scaling-out approach versus a scaling-up approach.

寻求线性可扩展性

Seek Linear Scalability

平台需要能够线性扩展,以确保随着平台的普及,增加新用户的成本不会变得过高。确保这一点的最佳方法之一是定期进行规模测试,随着时间的推移监控系统内的关键指标,并确保随着新功能添加到系统,规模不会下降。

Platforms need to be able to scale linearly to ensure that the cost of adding new users does not become prohibitively expensive as the popularity of the platform grows. One of the best ways of ensuring this is to do regular scale testing with monitoring of key metrics within the system over time and ensure that scale is not degrading as new features are added to the system.

避免平台纠缠

Avoid Platform Entanglement

对平台所做的每项更改都会导致平台内部出现更紧密的耦合。随着更改的引入,请花时间重构代码库和架构以反映业务的新方向。平台需要改变才能成长并保持活力。

Each change that is made to the platform can cause tighter coupling to occur within the platform. As changes are introduced, take the time to refactor the code base and the architecture to reflect the new directions of the business. A platform needs to change to grow and stay vital.

避免平台蔓延

Avoid Platform Sprawl

在平台的中期,人们很容易对所有出现的新开发都说“是”。愿意拒绝添加与平台不明确契合的东西将有助于延长平台的整体寿命和实用性,而不会削弱其核心目的。

It is easy during the midlife of a platform to want to say yes to all new development that shows up. Being willing to say no to adding things that don’t clearly align with the platform will help extend the overall life span and usefulness of the platform without diluting its central purpose.

不断升级到现有技术

Keep Upgrading to Current Technologies

淘汰平台的最佳方法之一是尽量减少用于保持平台与时俱进的投资。平台就像任何其他系统一样。您需要每隔一年半到五年升级一次,因为技术会过时,并被更新、更好的方法和技术所取代。这应该以滚动的方式进行,而不是一蹴而就。

One of the best ways to kill a platform is to minimize the investment in keeping the platform current with technology. Platforms are like any other system. You need to upgrade them every one and a half to five years as technologies go out of favor and are replaced with newer and better approaches and techniques. This should be done on a rolling basis, not as a big bang.

概括

Summary

平台开发之路始于

The road to platform development begins with

图像管理平台功能

Managing platform capabilities

图像定义平台目标

Defining the set of platform objectives

图像定义平台功能集

Defining the set of platform capabilities

图像专注于可利用的能力

Focusing on leverageable capabilities

图像开发强大的概念模型

Developing a strong conceptual model

图像采用 API、配置和事件作为平台的关键

Embracing APIs, configuration, and eventing as the keys to the platform

图像关注平台生态系统

Focusing on the platform ecosystem

图像了解平台用户

Knowing the platform users

图像了解平台所有权

Understanding platform ownership

图像了解平台管理

Understanding platform management

图像推动平台发展

Driving platform development

图像确认平台成本

Acknowledging platform costs

图像管理平台质量

Managing platform quality

图像了解平台集成

Understanding platform integration

图像通过原则引导平台发展

Guiding the platform growth through principles

我的经验是,从架构角度开发平台既有挑战性又很有趣。客户互动和学习是常态,这让工作变得令人兴奋。

My experience has been that working on platforms from an architecture perspective is challenging and fun. The set of customer interactions and learning is a constant, which makes it exciting to go to work.

参考

References

Benioff, Marc 和 Carlye Adler。2009 年。《云背后: Salesforce.com从创意到十亿美元公司并彻底改变行业的秘闻》。Jossey -Bass。

Benioff, Marc, and Carlye Adler. 2009. Behind the Cloud: The Untold Story of How Salesforce.com Went from Idea to Billion-Dollar Company and Revolutionized an Industry. Jossey-Bass.

Gharajedaghi, Jamshid。2011。《系统思维:管理混乱和复杂性:设计业务架构的平台》,第三版。Morgan Kaufmann。

Gharajedaghi, Jamshid. 2011. Systems Thinking: Managing Chaos and Complexity: A Platform for Designing Business Architecture, Third Edition. Morgan Kaufmann.

Godinez, Mario、Eberhard Hechler、Klaus Koenig、Steve Lockwood、Martin Oberhofer 和 Michael Schroeck。2010 年。《企业信息架构的艺术:一种基于系统的解锁商业洞察力的方法》。IBM出版社。

Godinez, Mario, Eberhard Hechler, Klaus Koenig, Steve Lockwood, Martin Oberhofer, and Michael Schroeck. 2010. The Art of Enterprise Information Architecture: A Systems-Based Approach for Unlocking Business Insight. IBM Press.

Leffingwell,Dean。2011 年。《敏捷软件需求:团队、项目和企业的精益需求实践》。Addison -Wesley。

Leffingwell, Dean. 2011. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley.

Levy, Steven。2011 年。《In the Plex:谷歌如何思考、运作和塑造我们的生活》。西蒙舒斯特出版社。

Levy, Steven. 2011. In the Plex: How Google Thinks, Works, and Shapes Our Lives. Simon & Schuster.

Meadows, Donella H. 2008. 《系统思维:入门》。Chelsea Green Publishing。

Meadows, Donella H. 2008. Thinking in Systems: A Primer. Chelsea Green Publishing.

Reynolds, Chris。2009 年。《商业架构简介》。Cengage Learning。

Reynolds, Chris. 2009. Introduction to Business Architecture. Cengage Learning.

Ross, Jeanne W. 和 Peter Weill。2006 年。《企业架构作为战略:为业务执行奠定基础》。哈佛商业评论出版社。

Ross, Jeanne W., and Peter Weill. 2006. Enterprise Architecture as Strategy: Creating a Foundation for Business Execution. Harvard Business Review Press.

Simon, Phil 和 Mitch Joel。2011 年。《平台时代:亚马逊、苹果、Facebook 和谷歌如何重新定义商业》。Motion Publishing。

Simon, Phil, and Mitch Joel. 2011. The Age of the Platform: How Amazon, Apple, Facebook, and Google Have Redefined Business. Motion Publishing.

第七章 建筑视角

Chapter 7. Architectural Perspective

“要想设计出真正优秀的产品,你必须了解它。你必须真正理解它的全部含义。要真正彻底理解某件事,仔细咀嚼,而不是快速吞下它,需要充满热情的承诺。”

“To design something really well, you have to get it. You have to really grok what it’s all about. It takes a passionate commitment to really thoroughly understand something, chew it up, not just quickly swallow it.”

—史蒂夫·乔布斯

—Steve Jobs

“一点点洞察力,比如一点点幽默,就能产生很大的作用。”

“A little perspective, like a little humor, goes a long way.”

—艾伦·克莱恩

—Allen Klein

“我们这个行业中的许多人都没有非常多样化的经历。因此他们没有足够的点来连接,最终他们得出的解决方案非常线性,没有对问题的广泛视角。人们对人类体验的理解越广泛,我们的设计就会越好。”

“A lot of people in our industry haven’t had very diverse experiences. So they don’t have enough dots to connect, and they end up with very linear solutions without a broad perspective on the problem. The broader one’s understanding of the human experience, the better design we will have.”

—史蒂夫·乔布斯

—Steve Jobs

“视角使我们能够准确地对比大与小、重要与不重要。没有它,我们就会迷失在一个所有想法、新闻和信息看起来都一样的世界里。我们无法区分,无法确定优先次序,也无法做出正确的选择。”

“Perspective gives us the ability to accurately contrast the large with the small, and the important with the less important. Without it we are lost in a world where all ideas, news, and information look the same. We cannot differentiate, we cannot prioritize, and we cannot make good choices.”

— 约翰·桑努努

—John Sununu

“因此,当这些人出卖自己时,即使他们变得非常富有,他们也正在失去他们人生中最有回报的经历之一。没有它,他们可能永远不会知道自己的价值,也不知道如何正确看待他们新获得的财富。”

“So when these people sell out, even though they get fabulously rich, they’re gypping themselves out of one of the potentially most rewarding experiences of their unfolding lives. Without it, they may never know their values or how to keep their newfound wealth in perspective.”

—史蒂夫·乔布斯

—Steve Jobs

架构师通常是第一个参与新想法业务的技术人员。根据时间和业务的参与程度,这可能早在构思时就参与,也可能晚于产品已经画好线框图,需要估算。如果一切顺利,建筑师将尽早加入。

Architects are usually the first technology people to get involved with the business on a new idea. Depending on the timing and the level of engagement of the business, this can be as early as ideation or as late as when the product is already wireframed and an estimate is needed. If all goes well, the architect will be included earlier rather than later.

架构师的跨领域角色让他们对构建产品的世界有了独特的视角。因此,架构师不仅需要了解业务想要实现的目标,还需要了解对于技术组织的多个层面来说什么是合乎逻辑的、可行的、具有成本效益的、可扩展的和直观的。

The spanning type of role for architects gives them a unique view into the world of building products. Architects therefore need to understand not only what the business wants to accomplish, but also what is logical, feasible, cost-effective, scalable, and intuitive to multiple levels of the technology organization.

本章揭示了软件架构师所需的基本技能之一:为项目提供架构视角的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to provide architectural perspectives for a project.

建筑透视定义

Architectural Perspective Defined

透视是指退后一步,从多个不同角度观察建筑的能力。每个视角不一定完全准确,但能够从多个角度观察、分析和概念化可以让你对景观有一个整体的了解。

Perspective is the ability to step back and view architecture from many different vantage points. Each perspective is not necessarily fully accurate, but being able to see, analyze, and conceptualize from multiple views gives a holistic view of the landscape.

了解常见的原则、格言和经验法则可以帮助您衡量观点的本质:

Knowledge of common principles, adages, and rules of thumb can help you measure the nature of the perspective:

图像看起来对吗?

Does it look right?

图像它是否满足了顾客的期望?

Does it meet the expectations of the customer?

图像与其他架构相比如何?

How does it compare to other architectures?

图像所感知到的事物有哪些差异/变异?

What are the differences/variances in what is being perceived?

从多个角度查看架构可以对解决方案提供有价值的见解(见图7.1)。

Viewing architecture from multiple perspectives can give valuable insights into the solution (see Figure 7.1).

图像

图 7.1架构视角

Figure 7.1 Architectural perspectives

建筑原则

Architectural Principles

在开发系统架构时,可以使用一组核心架构原则来评估所做的决策。这些原则不一定总是必须遵循,但您应该有一些坚实的理由来解释为什么您要朝某个方向发展。

As you develop the architecture for a system, a core set of architectural principles can be used to evaluate decisions that are being made. The principles don’t always have to be followed, but you should have some solid rationale for why you are going in a particular direction.

最小意外原则

The Principle of Least Surprise

最小惊讶原则是这样的概念:当一个在正在开发的主题领域中具有相当知识的人第一次遇到系统的这个元素时,所采取的想法或方法不会感到惊讶。

The Principle of Least Surprise is the concept that the idea or approach being taken would not surprise a reasonably knowledgeable person in the subject area being developed when first encountering this element of the system.

这一原则几乎可以应用于架构的每个方面。它可以应用于领域模型,其中使用的名词代表实体,动词描述正在执行的操作。所使用的词语会让最终用户感到惊讶吗?

This principle can apply to nearly every aspect of the architecture. It can apply to the domain model, where the nouns that are being used represent entities, and the verbs describe the actions that are being performed. Would the words being used surprise an end user?

它可以应用于用户界面的可视化。例如,操作顺序是否流畅自然?从硬件角度来看,硬件配置是否代表数据中心人员熟悉的模式?如果是,该模式是否有名称或是否常用?命名模式对于在架构对话中建立上下文大有裨益。

It can apply to the visualization of the user interface. For example, does the sequence of actions flow easily and naturally? From a hardware perspective, does the configuration of the hardware represent a pattern that the data center personnel are familiar with? If so, is the pattern named or in common use? Naming patterns can go a long way toward establishing context in architectural conversations.

从某种意义上说,这个原则可以改名为自然直觉原则。应用这个原则时,系统的用户应该能够快速直观地了解要做什么以及下一步要做什么。

In some very real sense, this principle could be renamed the Principle of Natural Intuition. When this principle is applied, the users of a system should be able to quickly and intuitively understand what to do and what to do next.

当你在审查架构时,遇到不直观的元素,这时就需要仔细评估原因。有时解决方案就像重命名项目一样简单。其他时候,它需要进行大修。无论哪种方式,让架构具有正确的适应性都可以使整个系统更易于操作,产生更少的问题,并为用户提供优质的体验,让他们想要一次又一次地回来。

When you are reviewing the architecture and you encounter nonintuitive elements, this is the time to closely evaluate the cause. Sometimes the solution is as simple as renaming items. Other times, it requires a major overhaul. Either way, getting the architecture to have the right fit can make the overall system easier to work on, create fewer issues, and give the users a quality experience that will make them want to come back again and again.

最少知识原则(又称迪米特法则)

The Principle of Least Knowledge (aka the Law of Demeter)

最少知识原则是关于最小化依赖关系的概念。在构建系统时,目标是努力实现适当的耦合和内聚。也就是说,您希望彼此更独立的功能具有松散的耦合,而彼此高度相关的功能则具有高内聚性(它们应该做好一件事)。

The Principle of Least Knowledge is a concept about minimizing dependencies. As you are architecting the system, the goal is to strive for proper coupling and cohesion. That is, you want loose coupling for capabilities that are more independent of one another, and you want high cohesion for capabilities that are highly correlated to one another (they should do one thing well).

从一开始就建立这些边界可以让开发团队更容易地建立新功能;他们将有一个明确、定义良好的目的。同样,扩展新功能的能力也将很简单。理想情况下,这些功能是独立的。也就是说,它们对系统内其他功能的依赖性很小或没有。

Establishing these boundaries from the outset makes it significantly easier for the development teams to stand up new capabilities; they will have a clear, well-defined purpose. In a similar fashion, the ability to scale new capabilities will be straightforward. Ideally, the capabilities are self-contained. That is, they have no or very few dependencies on other capabilities within the system.

您要避免的是陷入巨大的泥潭,其中所有事物都依赖于系统内的其他事物。如果系统紧密绑定,那么测试、部署、重构、扩展或重用都会非常困难,因为如果您触及系统的一部分,系统中另一个看似不相关的部分也会发生变化。

What you want to avoid is a giant mud ball, one in which everything is dependent on everything else within the system. It is very hard to test, to deploy, to refactor, to scale, or to reuse systems that are tightly bound, such that if you touch one part of the system, another seemingly unrelated part of the system changes.

如果您不够勤奋,那么随着系统的发展,系统各个功能之间精心划定的界限就会自然而然地变得模糊。当您首次设计系统架构时,请花时间将功能聚集在一起,形成一个有凝聚力的群体,并同样将彼此不相关的功能隔离开来。随着系统老化,请勤奋地守住这些界限,这样您就可以将系统的寿命延长很多年。

If you are not extremely diligent, there is a natural entropying of the careful boundaries that were laid between various capabilities of a system as the system progresses through time. When you are first architecting the system, take the time to cluster capabilities that form a cohesive group and likewise isolate capabilities that are not related to one another. As the system ages, guard these boundaries diligently, and you can extend the life of a system for years and years.

最省力原则(又称齐普夫定律)

The Principle of Least Effort (aka Zipf’s Law)

“简单来说,最小努力原则意味着,例如,一个人在解决眼前问题时,会根据自己估计的未来问题来看待这些问题。此外,他会努力以这样一种方式解决问题,以尽量减少他必须花费在解决他和未来问题上的总工作量。当前的问题和未来可能出现的问题。这反过来意味着这个人会努力将他可能的平均工作支出率(在一段时间内)降至最低。这样做,他就会尽量减少自己的努力。……因此,最少努力是最少工作的一个变体。”

“In simple terms, the Principle of Least Effort means, for example, that a person in solving his immediate problems will view these against the background of his future problems, as estimated by himself. Moreover, he will strive to solve his problems in such a way as to minimize the total work that he must expend in solving both his immediate problems and his probable future problems. That in turn means that the person will strive to minimize the probable average rate of his work-expenditure (over time). And in so doing he will be minimizing his effort. . . . Least effort, therefore, is a variant of least work.”

—乔治·金斯利·齐普夫

—George Kingsley Zipf

最省力原则适用于软件架构、软件开发和软件使用的几乎每个方面。在每个阶段,我们都倾向于选择最容易(需要最少的努力)的路径。该原则通常指向这样的观点:起点决定终点,所以要开个好头;其他人会认为阻力最小的路径是简单与卓越的结合。它设定了较高的初始系统期望,使人们能够做出伟大的事情,因为这就是项目的完成方式。

The Principle of Least Effort has applicability to almost every aspect of software architecture, software development, and software usage. At every stage, we tend to follow the path that is the easiest (requires the least effort). This principle generally points to the idea that the start determines the end, so start well; others will perceive that the path of least resistance is simplicity combined with excellence. It sets the initial system expectations high and enables people to do great things, because that is the way things are done for the project.

当考虑改变用户界面的设计时,请记住用户会找到某种方式来完成任务,并且他们会无休止地重复这种模式来完成任务,除非有一种明显更简单的方法来完成它,在这种情况下他们就会改变。

When considering changes to the design of a user interface, remember that users will find a certain way to accomplish a task, and they will repeat that pattern endlessly to get the task complete unless there is a significantly easier way to perform it, in which case they will change.

架构也是如此:如果你找到了一条可行的系统架构路径,除非你找到一条更好的方法,否则你不太可能改变。花时间找到一条能展现出你所寻求的品质的架构路径,其余的自然会随之而来。如果你采用这种方法,下一个系统和下一个系统也可能会展现出同样的品质。以前的架构将作为你所做的所有工作的模板。

The same is true for architecture: if you find a path to architecting systems that works, you are unlikely to change unless you find a significantly better way. Take the time to find a path to architecting that exhibits the qualities you are seeking and the rest will naturally follow. If you take this approach, the next system and the next system will also likely exhibit those same qualities. The previous architectures will act as templates for all of the work you do.

如果您无法创建自己喜欢的架构,请向周围您非常尊重的其他架构师学习,并模仿他们的工作。他们的工作可以作为您的模板,最终您创建的架构将感觉自然,并且您可以用自己的架构品牌进行创新。您可以在组织内部或外部寻找架构师。有许多可用的架构资源。

If you are unable to produce an architecture that you like, look to other architects around you for whom you have a high level of respect and emulate the work that they do. Their work can act as a template for you, and eventually the architectures that you produce will feel natural, and you can innovate with your own brand of architecture. You can look for architects inside or outside your organization. There are many architecture resources available.

机会成本原则

The Principle of Opportunity Cost

机会成本原则基于这样的概念:资源是稀缺的,所做的每一个选择都会直接影响被排除的选择(错失的机会)以及所做的选择未实现的价值。

The Principle of Opportunity Cost is based on the notion that resources are scarce and that every choice that is made has a direct impact both on the choices that were excluded (missed opportunity) and on the value that is not being realized by the choice that was made.

建筑设计从根本上讲就是权衡各种选择,务实地努力使项目对企业的整体价值最大化。选择不仅包括应该做什么,还包括不应该做什么。

Architecture is fundamentally about weighing choices against one another and pragmatically trying to maximize the overall value of the project for the business. The choice is not only what should be, but what should not be.

通过现在做出更具策略性的决策,您可以让企业节省资金并在其他有前景的领域进行额外投资。或者,同样的情况可能会促成关键基础设施的创建——一种更具战略性的解决方案——这反过来会降低可以利用新基础设施的未来项目的成本。

By making a more tactical decision now, you may enable the business to save money and make additional investments in other promising areas. Alternatively, the exact same situation may enable the creation of critical infrastructure—a more strategic solution—which in turn will lower the cost of future projects that can leverage the new infrastructure.

在比较项目的多个选项之间的机会成本时,请考虑以下几点:

As you compare the opportunity costs between multiple options for a project, consider the following:

图像正确答案是什么?答案可能是所有选项均有效。

What is the right answer? The answer may be that all options are valid.

图像谁需要参与决策?关于此事可能有很多意见,但谁是关键利益相关者?你如何以一种可以理解且不带偏见的方式向他们解释替代方案?

Who needs to weigh in on the decision? There are likely many opinions on the matter, but who are the critical stakeholders, and how do you explain the alternatives to them in a manner that is understandable and not unduly biased?

图像是否考虑过所有关键选项?如果没有,可能会错失良机。

Have all the critical options been considered? If not, it may be opportunity lost.

图像您有多少时间来评估可用的选项?我的经验是,制定架构方法的时间非常有限,在有限的时间内提出一个可行的选项(更不用说多个选项)是具有挑战性的。

How much time do you have to evaluate the options available? My experience has been that the time frame for producing an architectural approach is very limited, and the limited time in which to come up with a single viable option, let alone multiple options, is challenging.

图像您是否对产品线有足够深入的了解,不仅知道目前的需求,还知道未来一两年内正在考虑什么?如果您对产品开发没有这种洞察力,那么您评估当前项目某些选项的能力将非常有限。

Do you have a significant enough view into the product pipeline to know not only what is being requested today, but what is being considered for the next year or two? If you don’t have this kind of insight into product development, your ability to evaluate some of the options for the current project will be very limited.

图像您是否愿意将自己的声誉置于可能获得或不获得投资回报的建筑基础设施的危险之中?您的直觉是什么?您能卖掉它吗?

Are you willing to put your reputation on the line for architectural infrastructure that may or may not reap a return on investment? What is your gut feeling? Can you sell this?

图像您是否愿意因为技术债务而对业务说“不”,因为技术债务将因采取战术方法而产生,而这些技术债务将以企业愿意支付的价格完成?

Are you willing to say no to the business because of the technical debt that will be incurred because of the tactical approach that would need to be taken to get the project done for the price the business wants to pay?

图像当你老板的老板让你解释为什么他从 NPD 组织的同事那里听说该项目成本太高时,你会如何回答?在公开发布解决方案及其成本(不仅仅是财务成本)之前,请确保你已经花时间非正式地审查过这些解决方案及其成本;私下做出的更正不会引起太多注意。

How will you answer when your boss’s boss wants you to explain why he’s heard from his peer in the NPD organization that the project costs too much? Make sure you have taken the time to vet the solutions and their costs (not just financial) informally before they are published publicly; corrections made in private don’t get noticed as much.

尽可能长时间地节省开发资金,避免投机性功能开发,并保持较低的烧钱率,这样一旦利益相关者更好地理解了他们想要什么,企业就可以拥有更多的资源。

Saving your development dollars as long as possible, avoiding speculative feature development, and keeping a low burn rate will enable the business to have more resources later once the stakeholders better understand what they want.

在敏捷中,有一个在最后责任时刻做出决策的概念(请参阅本章后面关于该原则的部分)。这个想法适用于构建您知道的内容,同时展望未来以确定您可以以经济高效的方式构建什么以及如何构建系统。关键是要对变化持开放态度,并让企业知道变化的影响是什么。

Within agile, there is a concept of making decisions at the last responsible moment (see the section on that principle later in this chapter). This idea applies to building what you know while looking to the future to determine what and how you can build the system in a cost-effective manner. The key is to be open to change and let the business know what the impacts of the change are.

单一职责原则

The Principle of Single Responsibility

单一职责原则是指系统的模块或功能应仅承担一项职责。严格定义服务可让使用该服务的所有人(包括测试人员)和开发该服务的所有人清楚了解其预期用途。

The Principle of Single Responsibility is the concept that a module or capability of the system should have only one responsibility. Keeping a service narrowly defined enables everyone who is using it (including testers) and everyone who is developing it to be well aware of what its intended purpose is.

这种狭义定义还有助于您正确命名功能。如果您在命名方面遇到问题,请花点时间弄清楚名称有什么问题,或者功能定义有什么问题。名称很重要;每个名称都应清楚地说明项目的作用,并且应直观易懂。如果您必须做大量解释才能让人们对某项功能达成共识,则需要澄清这一点。

This narrow definition also helps you name the capability correctly. If you are having a problem naming it, take the time to figure out what is wrong with the name or wrong with the definition of what it is doing. Names matter; each name should clearly state what the item does and should be intuitive. If you have to do a lot of explaining to get people onto the same page about what something does, you need to clarify it.

简约原则(又称奥卡姆剃刀或 KISS)

The Principle of Parsimony (aka Occam’s Razor or KISS)

简约原则意味着消除不必要的东西;它意味着定义完成某件事所需的最小假设。奥卡姆剃刀和 KISS(保持简单愚蠢)的目标是降低复杂性。

The Principle of Parsimony means eliminating what is unnecessary; it means defining the minimal assumptions necessary to complete something. The goal of Occam’s Razor and KISS (Keep It Simple Stupid) is to reduce complexity.

与软件架构相关的领域无处不在。该原则适用于向用户展示软件的界面、服务揭示系统的功能、代表系统管理和维护的信息的数据结构以及协调一系列复杂任务的工作流程。

The areas of relevance to software architecture are everywhere. The principle applies to the interfaces that expose our software to users, the services that reveal the capabilities of the system, the data structures that represent the information our system manages and maintains, and the workflows that orchestrate a series of complex tasks.

当我们为架构添加特性和功能时,我们希望以一种能够提升所生产系统的基本优雅性、易理解性以及可用性和可维护性的方式来实现它。这里的关键词是“基本”;它并不意味着消除难题或功能的关键差异因素,而只是意味着消除混乱。

As we add features and capabilities to our architecture, we want to do it in a manner that promotes essential elegance, ease of understanding, and the usability and maintainability of the system being produced. The keyword here is essential; it doesn’t mean eliminating the hard problem or a key differentiator of a capability, it simply means removing the clutter.

复杂程度的一个好指标是您是否能在几分钟内解释清楚您感兴趣的项目。如果您不能,请花点时间看看哪些内容可以删除,哪些内容不属于该项目,但又不会影响正在开发的内容的价值。

A good indication of the level of complexity is whether or not you can explain the item of interest in just a few minutes. If you can’t, take the time to look at what can be removed or what doesn’t belong without removing the value of what is being developed.

从产品开发的角度来看,最小可行产品是奥卡姆剃刀的另一种变体。其目标是专注于完成系统所需的最小基本功能集。采用这种方法将加快开发速度、最大限度地降低开发成本、缩短上市时间并更快地获得用户反馈。

From a product development point of view, the minimum viable product serves as another variant of Occam’s Razor. The goal here is to focus on the minimal set of essential features that are necessary to complete the system. Taking this approach will speed development, minimize development costs, reduce time to market, and enable quicker feedback from users.

精益创业公司已经完善了最小可行产品的流程。它利用客户反馈进行快速迭代,帮助了解什么是必要的,并引导最小可行产品的演变。

The Lean Startup has refined the process around the minimum viable product. It utilizes quick iterations with customer feedback to help learn what is essential and to steer the evolution of the minimum viable product.

最后责任时刻原则(又称延迟成本)

The Principle of Last Responsible Moment (aka Cost of Delay)

最后负责原则意味着等到需要时再做决定。一般来说,早期和可能不知情的决定可能会比等到以后再做决定对你造成的伤害更大。通过等待,你有能力让问题更充分地暴露出来,并更好地了解所涉及的所有依赖关系和风险。

The Principle of Last Responsible Moment means waiting to make a decision until you need to. In general, early and potentially uninformed decisions have the potential to hurt you far worse than waiting to make a decision later. By waiting, you have the ability to allow the problem to more fully reveal itself and have a better sense of all the dependencies and risks involved.

目标不是无限期地等待,导致项目实施延迟和错过发货日期,而是等待缩小选择范围,直到您获得更多信息。关键是权衡延迟决策的成本。也就是说,如果您等待,会涉及哪些影响、成本和风险?

The goal is not to wait indefinitely and cause delays in the project implementation and missed shipped dates, but rather to wait to narrow the options until you are better informed. The key is to weigh the cost of delaying the decision. That is, if you wait, what are the impacts, costs, and risks involved?

减轻这些风险并帮助权衡替代方案的最有效方法之一是进行原型设计和概念验证。花时间参与并原型设计或 POC 与各种关键风险领域相关的风险替代方案可以帮助您获得必要的洞察力,以确保在最后(有时称为最)负责任的时刻到来时,您能够做出明智的决定。

One of the most effective ways to mitigate these risks and to help weigh alternatives is to engage in prototyping and proofs of concept. Taking the time to jump in and prototype or POC key areas of risk associated with the various alternatives can help give you the insights needed to ensure that when the last (sometimes referred to as the most) responsible moment arrives, you are able to make an informed decision.

最后责任时刻原则可用于整个项目生命周期,以帮助管理微观决策,使企业能够更好地了解真正的选择,并帮助利益相关者形象化他们真正要求什么。

The Principle of Last Responsible Moment can be used throughout the life cycle of a project to help manage micro-level decisions, to enable the business to have better visibility into what the real options are, and to help stakeholders visualize what they are really asking for.

反馈原则

The Principle of Feedback

反馈原则意味着使用反馈循环来决定下一步做什么,以帮助提供决策的导航结构。反馈原则在许多不同的领域都有体现:

The Principle of Feedback means making decisions about what to do next using feedback loops to help provide the navigation structure for the decisions. The Principle of Feedback is demonstrated in many different areas:

图像 敏捷和精益开发(通过小规模增量开发实现软件的演进式开发,并利用直接用户反馈来指导整体解决方案)

Agile and Lean development (the evolutionary development of software through small incremental development with direct user feedback to guide the overall solution)

图像 雷曼第六定律(通过反馈系统引导持续变化或系统演进)

Lehman’s Sixth Law (guiding continuous change or system evolution through feedback systems)

图像 服务质量监控(测量关键指标以确保 SLA 和系统性能)

Quality-of-service monitoring (measuring key metrics to ensure SLAs and system performance)

图像 系统优化(测量和可视化系统的关键性能方面,以确保正确的区域得到优化;在这个领域使用推测通常会导致无效的解决方案)

System optimization (measuring and visualizing the key performance aspects of the system to ensure that the right areas are being optimized; using conjecture in this area usually leads to solutions that are not effective)

图像 用户界面设计(通过对比和接近度等视觉元素引导用户的注意力)

User interface design (directing the attention of the users through visual elements such as contrast and proximity)

图像 可用性测试(观察和测量用户如何浏览和对系统做出反应)

Usability testing (observing and measuring how users navigate and react to your system)

开发能够不断发展以满足客户不断变化的需求的系统的关键是采用反馈原则。

The key to developing systems that are able to evolve to meet the ever-changing needs of customers is to employ the Principle of Feedback.

建筑问题

Architectural Concerns

架构原则为我们提供了一种评估决策的方法,以验证它们是否符合我们对项目和技术组织的总体目标。架构关注点是系统的不同视角,通常称为“功能”。这些关注点使我们能够考虑非常狭窄的维度,这些维度通常是系统的非功能性元素,但对于系统正常运行至关重要。

Architectural principles give us a means of evaluating decisions to validate that they are in line with our overall goals for the project and for the technology organization. Architectural concerns are different perspectives of the system often referred to as the “-ilities.” These concerns enable us to consider very narrow dimensions that are typically nonfunctional elements of the system but are critical for the system to behave properly.

可用性

Availability

可用性是指您的系统需要达到何种程度的可用性,或者反过来说,您的企业愿意接受多少停机时间。答案通常与系统停机一段时间后的收入或费用影响有多大,或系统不可用对声誉的影响有多大直接相关。

Availability is the notion of how available your system needs to be or conversely how much downtime your business is willing to accept. The answer is often directly related to how much revenue or expense impact there will be if the system is down for some period of time or to what the reputational impact of the system not being available is.

企业最初表示希望实现 100% 正常运行时间的情况并不少见;增加正常运行时间听起来是个好主意,那么为什么不增加正常运行时间呢?通常情况如此,直到利益相关者开始了解真正实现 100% 正常运行时间要求的成本。总会有一些情况会迫使企业出现一定程度的停机,无论是由于维护还是某种形式的系统故障。关键问题是:

It is not uncommon for the business to initially say it wants 100% uptime; more uptime sounds like a good idea, so why not have a lot of it? This is usually the case until the stakeholders begin to understand the costs associated with having a truly 100% uptime requirement. There are always situations that will force some level of downtime, whether due to maintenance or some form of system failure. The key questions are:

图像企业愿意接受服务不可用的时间有多长?

What amount of time is the business willing to accept for the services to be unavailable?

图像企业愿意花多少钱来满足其服务可用性要求?

How much is the business willing to spend to meet its service availability requirements?

图像您或者您的托管提供商是否拥有运营人员来支持您所寻求的服务可用性要求?

Do you have or does your hosting provider have the operational staff to support the service availability requirements you are seeking?

图像您或者您的托管服务提供商是否拥有用于检测服务不可用性的操作工具和监控功能?

Do you have or does your hosting provider have the operational tools and monitoring in place to detect service unavailability?

图像当确定服务不可用时:

When the service is determined to be unavailable:

图像开始恢复过程的流程和程序是什么?

What are the processes and procedures to begin a recovery process?

图像这些过程是自动化的、手动的,还是两者结合的?

Are these processes automated, manual, or a mix of the two?

图像负责手动恢复过程的人员需要多少时间才能完成这项工作?

How much time does the person responsible for a manual recovery process have to get the job done?

图像服务恢复后需要哪些验证步骤?

What are the validation steps that are required once the service has been restored?

图像当出现可用性问题时,通知和审计要求是什么?

What are the notification and auditing requirements for when an availability issue arises?

图像是否需要进行根本原因分析来确定根本问题是什么?

Is root-cause analysis required for determining what the root issue was?

图像您是否需要制定缓解计划以避免将来出现该问题?

Are you required to have a mitigation plan to avoid the issue in the future?

图像您多快能从停机中恢复?

How quickly can you recover from downtimes?

图像您可以采用哪些机制来缓解服务可用性不足的问题?

What mechanisms can you put in place to mitigate a lack of service availability?

图像您想保护自己免遭哪些类型的问题?

What types of problems are you trying to protect yourself from?

图像 存储已满。从表面上看,这个似乎很愚蠢,但我见过系统因存储已满而变得不可用。这里的问题是需要采取哪些流程来防止这种情况发生。它可以很简单,例如监控存储已满百分比,同时了解以下问题的答案:

Storage full. On the surface this one seems silly, but I have seen systems become unavailable due to storage becoming full. The question here is what processes need to be in place to prevent this from occurring. It could be something as simple as monitoring storage full percentages in conjunction with knowing the answers to these questions:

图像存储空间多久会被填满?

How fast does the storage fill up?

图像谁需要收到警报才能解决这种情况?

Who needs to receive an alert in order to resolve the situation?

图像扩展或更换存储需要多长时间(是否需要订购,是否有额外的备用存储空间,只需分配并使其可用)?

How long does it take to expand or replace the storage (does it need to be ordered, is there additional storage on standby that simply needs to be allocated and made available)?

图像存储中的数据是否会随着时间的流逝而失去价值?这些日志文件是否可以在指定的时间段内清除?

Does the data on storage lose value with age? Are these log files that are okay to purge within a specified period of time?

图像 存储故障。可以通过一些简单的方式来处理,比如确保将存储复制到单独的存储设备。

Storage failures. These could potentially be handled by something as simple as ensuring that this storage is replicated to a separate storage device.

图像 服务器故障。这些故障可以通过集群服务器或负载平衡服务器来缓解。无论哪种情况,您基本上都有一台或多台冗余服务器,当其他服务器不可用时,它们可以执行相同的工作。

Server failures. These may be able to be mitigated by clustering servers or by load balancing servers. In either case, you basically have a redundant server or servers that can do the equivalent job if the other server is not available.

图像 维护时段。只需安排系统停机或将故障转移到其他硬件即可处理。

Maintenance windows. These could be handled by simply having a scheduled system outage or a failure over to other hardware.

图像 停电。可以通过备用电源(无论是电池还是发电)来应对。最大的问题是,在真正的紧急情况下,这种备用电源能维持多久。

Power outages. These can be dealt with by having backup power whether through battery or power generation. The big question is how long you can make this last in a real emergency.

图像 站点中断。如果托管服务器的站点停止运行,您会怎么做?您是否有第二个或第三个站点,它们距离较远,可以充当备份站点?这个备份站点如何保持同步?如果不是所有数据都及时同步,您愿意容忍多少数据丢失?

Site outages. If the site where your servers are hosted goes out of commission, what do you do? Do you have a second or third site that is significantly far away that can act as a backup site? How does this backup site stay in sync? How much data loss are you willing to tolerate if not all of the data was synchronized in time?

图像 网站丢失。网站完全丢失是否可以接受?这种情况可能极其罕见,但对业务有何影响?您是否有其他可以快速或动态切换的网站?

Site loss. Is having a complete site loss acceptable? It might be extremely rare, but what is the impact to the business? Do you have another site that can be quickly or dynamically switched to?

图像 软件兼容性问题。您是否有可用于测试和验证软件兼容性的较低环境?

Software compatibility issues. Do you have lower environments that can be used to test and verify software compatibility?

图像您是否在合同中规定了提供一定程度的可用性的义务?在充分了解履行这些义务需要付出哪些努力之前,请谨慎对待您允许企业指定可用性要求以及对未达到 SLA 的情况施加任何经济处罚。这可能会使企业付出比其愿意投资的金额高得多的成本。

Are you contractually obligated to provide a certain level of availability? Be cautious about what you allow the business to specify as an availability requirement and imposing any financial penalties for missed SLAs until you have had an opportunity to fully understand what it will take to meet those obligations. It may cost the business significantly more than it is willing to invest.

可扩展性

Scalability

可扩展性使系统能够从容地响应对其提出的要求。这些要求包括存储 I/O、数据库访问、CPU 利用率、内存利用率、应用服务器群和网络利用率。应用程序的性质决定了哪些方面会承受压力。修复一个可扩展性问题后又会出现另一个问题,这种情况并不罕见。

Scalability enables a system to gracefully respond to the demands that are placed upon it. These can range from storage I/O, to database access, to CPU utilization, to memory utilization, to app server farms, to network utilization. The nature of the application determines what will get stressed out. It is not uncommon to fix one scalability issue only to have another hiding behind it.

挑战在于了解对系统提出的需求的性质。根据我的经验,大多数人都错误地预测了系统的哪些方面需要优化,而没有进行测试和详细的监控来验证观察到的系统行为。

The challenge is to understand the nature of the demand that will be placed on the system. It has been my experience that most people incorrectly predict what areas of the system to optimize without testing and detailed monitoring in place to validate the system behaviors that are observed.

首次设计系统时,您需要确定您是计划纵向扩展(购买更大的硬件)还是横向扩展(拥有多套可以响应相同请求的硬件)。一般来说,横向扩展方法更具成本效益。它允许您从小规模开始,并随着对系统功能的需求随着时间的推移而增加系统资源。

When you are first designing the system, you need to determine if you are planning to scale up (buy bigger hardware) or scale out (have multiple sets of hardware that can respond to the same requests). Generally speaking, a scale-out approach is more cost-effective. It will allow you to start out small and add system resources as the demand for the system’s capabilities increase over time.

当您致力于构建能够根据产品需求进行扩展的系统时,需要考虑多个方面:

There are a variety of areas to take into consideration when you are working toward building a system that is capable of scaling to your product’s needs:

图像有多少用户(在线和批量)将同时访问系统?

How many users (online and batch) will concurrently access the system?

图像系统能够管理多少数据?

How much data will the system be able to manage?

图像数据存储每秒需要处理多少个读/写操作?

How many read/write operations per second does the data store need to handle?

图像系统峰值并发访问量是多少?

What is the peak concurrent access to the system?

图像可以缓存多少数据以最小化系统内请求在响应之前需要传输的深度?是否可以在内容分发网络 (CDN) 中将数据缓存在系统外部,以帮助将流量从网站中移开?考虑内容是否具有较高的命中率(是否值得缓存)?

How much data can be cached to minimize the depth within the system that the requests need to travel before being responded to? Can data be cached outside the system in a content distribution network (CDN) to help keep traffic away from the site? Consider if the content has a significant hit rate (is it worth caching)?

图像系统是否需要数据复制?数据同步需要多长时间可以接受?

Is data replication required for the system? How long is it acceptable for the data synchronization to take place?

图像系统需要多少日志和事件来支持系统当前以及未来系统性能分析的运营需求?

How much logging and eventing are required for the system to support the operational needs of the system for immediate as well as future system performance analysis?

图像是否存在数据争议领域?

Are there areas of data contention?

图像是否存在 CPU 密集型操作?

Are there CPU-intensive operations?

图像是否有长时间运行的操作?

Are there long-running operations?

图像您计划如何衡量系统的使用情况?

How do you plan to measure usage of the system?

图像您是否计划计量服务以限制过度使用?

Do you plan to meter services to throttle excessive usage?

图像您是否有能力自动配置额外的服务器来满足需求?

Do you have the ability to auto-provision additional servers to meet demand?

图像您能安排批量操作在非高峰时段进行吗?

Can you schedule batch operations to occur at nonpeak times?

每当系统资源的利用率超过 80% 时,您都需要考虑某种操作警告,以便运营团队有机会找到补救方法。如果利用率超过 90%,则需要向运营团队发送更紧急的通知。理想情况下,关键系统资源和错误率会随时间进行监控,并以图形方式呈现给运营团队和关键利益相关者。这让每个人都有机会跟踪系统运行状况并做出相应反应。

Anytime a system resource exceeds 80% utilization, you need to consider some kind of operational warning to give the operations team a chance to find ways to remedy the situation. If it goes beyond 90% utilization, a more urgent notification needs to be sent to the operations team. Ideally, key system resources and error rates are monitored over time and presented in a graphical manner to both the operations team as well as key stakeholders. This gives everyone a chance to keep track of system health and to respond accordingly.

可扩展性的关键在于测试和验证您对系统行为的假设是否正确。测试时,您需要让系统超越其极限,以找出临界点,并找出系统在负载下如何失效。如果系统无法正常失效,请寻找保护系统的方法。

The key to scalability is to test and validate that your assumptions about the system’s behavior are correct. When you are testing, you want to drive the system past its limits to find out where the breaking points are and to find out how the system fails under load. If it does not fail gracefully, look for ways to protect the system.

可扩展性

Extensibility

可扩展性使系统能够轻松添加或更改。从业务角度来看,快速轻松地添加、修改或更改系统某些方面的能力是衡量与系统相关的收入能力的关键因素。

Extensibility enables a system to be easily added to or changed. From a business perspective, the ability to add to, modify, or change certain aspects of a system quickly and easily can be a critical factor in the ability to scale revenue associated with the system.

可扩展性可以包括以下项目

Extensibility can include items such as

图像处理不同地理位置的部署

Handling deployments to diverse geographic locations

图像启用用户界面的替代样式和品牌

Enabling alternative styling and branding of the user interface

图像能够根据客户需求调整用户界面

Enabling the user interface to be adjusted according to client needs

图像修改或定制系统功能

Modifying or customizing system capabilities/functionality

处理可扩展性的关键是在构思阶段尽早倾听业务,并积极倾听业务可能希望改变应用程序行为以满足客户需求的领域。通常,可以采用各种设计模式来实现系统行为或呈现方式的改变,而无需进行重大当变更请求来自业务时,会影响架构或产生沉重的开发成本。

The key to handling extensibility is to listen closely to the business early on during the ideation phases and actively listen for areas where the business may want to be able to alter the behavior of the application to address customer needs. Typically, a variety of design patterns can be employed to enable the changes in system behavior or presentation without significantly affecting the architecture or incurring heavy development costs when the requests for change come from the business.

重复性

Repeatability

可重复性是指系统以一致的方式运行的能力。用户与系统之间交互的一致性是建立信任的基础。由于这一信任因素被破坏,“全新改进”系统未能获得用户社区的采用并不罕见。

Repeatability is the ability of a system to behave in a consistent manner. This consistency of interaction between the user and the system is what builds trust. It is not uncommon for “new and improved” systems to fail to gain adoption in the user community because this trust factor is broken.

表面上看,某些功能不太理想,因此在系统设计人员看来很值得更改,但事实上它们可能已在用户社区中得到广泛采用,尽管它们并不完美,但它们的缺陷状态非常有用,并且受到不寻求更改的用户的“喜爱”。

Features that on the surface appear to be less than ideal and consequently appear to be great candidates for change to the system designers may in fact have gained widespread adoption in the user community, and even though they are not perfect, their flawed state is highly useful and “loved” by the users, who are not seeking change.

系统内的可重复性概念对于设定用户期望至关重要。

The notion of repeatability within a system is paramount for setting user expectations.

兼容性

Compatibility

兼容性是指在系统中引入非中断性变更的能力,或者至少是在推出和采用新的或变更的功能期间旧功能仍然可用的宽限期。

Compatibility is the ability to introduce nonbreaking changes into the system or, minimally, a grace period when old functionality is still available while the new or changed capability is rolled out and being adopted.

兼容性通常可以通过支持版本化的 API 或系统的历史版本来实现。最终,这些旧版本可能会被弃用或不再受支持。提供与过去的兼容性可让您的用户群找到方便的时间在其系统中进行必要的更改以升级到新版本。

Compatibility can often be achieved by supporting versioned APIs or historical versions of a system. Eventually these older versions can be deprecated or dropped from support. Providing compatibility with the past allows your user base to find a convenient time to make the required changes within their systems to upgrade to the new versions.

从架构的角度来看,在路线图中列出变更可以让您的用户社区了解即将发生的变化,并允许他们为即将发布的版本中的变更做好准备和计划。

From an architecture perspective, laying changes out in a roadmap can inform your user community of coming changes and allow them to prepare and plan for the changes in their upcoming releases.

这种对用户群的透明度对于建立信任和培养长期关系大有裨益。用户会知道,如果他们选择与您合作并获得长期支持的保证,他们的投资不会很快打水漂。

This level of transparency with your user base can go a long way toward establishing trust and cultivating long-term relationships. Users will know that their investments will not be quickly thrown out the window if they choose to partner with you and have guarantees of long-term support.

可持续发展

Sustainability

可持续性是指在变化过程中保持架构相关性,而不会在系统内造成意外熵的能力。它超越了可维护性其目的是促进持续增长和发展,而不仅仅是防止当前能力的下降。

Sustainability is the ability to keep the architecture relevant through change without causing unintended entropy within the system. It goes beyond maintainability in that the intent is to enable continued growth and evolution, not just prevent a degradation of current capabilities.

可持续性的最佳实现方式是保持适当的关注点分离,不允许功能缓慢纠缠,最终导致大混乱。通过配置、控制反转和独立部署新功能来实现这些变化,可以实现可持续的系统。

Sustainability is best achieved by maintaining a proper separation of concerns and not allowing a slow entanglement of capabilities that eventually lead to a large mud ball. Enabling these changes through configuration, inversion of control, and independent deployment of new capabilities leads toward a sustainable system.

可持续性对于企业的长期健康至关重要,有助于最大限度地提高技术投资的回报。

Sustainability is essential to the long-term health of the business and helps maximize the return on investment made in technology.

安全、灾难恢复、业务连续性和开源许可

Security, Disaster Recovery, Business Continuity, and Open-Source Licensing

有关这些主题的更多信息,请参阅第 8 章治理”。

For more information on these topics, see Chapter 8, “Governance.”

第三方集成

Third-Party Integration

当您考虑与第三方解决方案集成时,您需要仔细研究他们的解决方案,并考虑前面讨论的架构问题。您的客户将期望第三方提供与您其他产品相同的服务水平。

As you consider integrating with third-party solutions, you need to look closely at their solutions with respect to the architectural concerns discussed previously. Your customers will expect the same level of service from third parties as they do from the rest of your offerings.

您的业​​务合作伙伴可能会对在其产品组合中添加新功能的可能性感到非常兴奋,并且可能不会关注架构问题;他们只是希望一切顺利。确保您有机会在与第三方提供商签订合同之前查看合同,以确保适当的语言能够确保每个人的成功。

Your business partners may be extremely excited by the possibility of adding a new capability to their portfolio and are likely not to be focused on the architectural concerns; they just expect everything to work out. Make sure you have an opportunity to see the contracts with the third-party providers before they are signed to ensure that the appropriate language is in place to enable everyone’s success.

建筑交流

Architectural Communication

建筑原则和建筑关注点有助于指导建筑师进行建筑的开发和演变,但只有通过积极的沟通,建筑才能变得生动起来。

The architectural principles and architectural concerns help guide architects in the development and evolution of an architecture, but it is through active communication that the architecture comes to life.

这种沟通通常以白板会议的形式进行,在会上绘制架构图并讨论架构的关键方面。开发一组通用架构工件可以作为组织的长期沟通工具。

This communication often takes place as whiteboarding sessions, where the architecture is diagrammed and key aspects of the architecture are discussed. Developing a set of common architectural artifacts can serve as a long-term communication tool for the organization.

一般来说,传达架构的最有效方式是通过图片和图表。有各种不同的视角来查看架构。通常,这些视角是从架构的主要消费者的角度来看的。

Generally speaking, the most effective way to communicate architecture is through pictures and diagrams. There are a variety of different vantage points from which to view the architecture. Typically, these vantage points are from the perspective of key consumers of the architecture.

领域模型

Domain Model

领域模型通常首先在项目的构思和发现阶段开发,此时发现最终用户的语言至关重要,即他们用来描述事物的名词以及他们用来描述与名词相关的动作的动词。该模型可以形成与客户、新产品开发、营销、销售和技术交流的通用语言的基础。使用领域的“本土”语言可以帮助形成自然的关系和基数;即使系统不同部分的设计团队没有紧密合作,系统的各个部分也会自然地协同工作。

The domain model is usually developed first in the ideation and discovery phases of a project when it is critical to discover the language of the end users, that is, the nouns they use to describe things and the verbs they use to describe the actions related to the nouns. The model can form the basis of a common language with which to talk to customers, new product development, marketing, sales, and technology. Using the “native” language of the domain can help form natural relationships and cardinality; various parts of the system will naturally work together even if the design teams of the different parts of the system don’t work that closely together.

流程图

Process Diagram

流程图用于显示工作流程。它可以表示正在开发的系统的许多不同方面。流程图通常显示用户完成工作所采取的关键步骤以及他们与系统交互。它让人们了解流程中的关键决策点在哪里,以及哪些部分工作将自动化(由系统控制),哪些部分工作将在系统外执行,无论是手动还是由其他系统执行。

A process diagram is used to show the flow of work. It can represent many different aspects of the system that is being developed. A process diagram typically shows the key steps that users take to do their work and their interactions with the system. It gives a sense of where key decision points are within the flow as well as what parts of the work will be automated (controlled by the system) and what parts of the work will be performed outside the system, whether manually or by another system.

流程图还可用于布局

Process diagrams can also be used to lay out

图像构建和部署如何进行

How builds and deployments will work

图像如何从旧系统迁移到新系统

How migrations from legacy systems to new systems will occur

图像批处理工作流如何工作以及如何处理错误情况

How batch workflows will work and how error conditions will be handled

工艺流程的主要考虑因素包括:

Key considerations for process flows include the following:

图像这个过程从哪里开始?

Where does the process begin?

图像流程开始的先决条件是什么?每个步骤的发生条件是什么?流程完成的先决条件是什么?

What are the prerequisites for the process to begin? For each step to occur? For the process to be considered complete?

图像需要考虑的后置条件有哪些?

What are the postconditions that need to be considered?

图像流程中有哪些关键决策需要根据每个决策的结果采取不同的行动?

What are the critical decisions within the flow that will require different actions based on the outcome of each decision?

图像如何处理错误情况和异常?

How will error conditions and exceptions be handled?

图像各个演员、角色之间的作品转换是怎样的?

What are the transitions of work between various actors and roles?

图像为了更深层次的理解,需要创建哪些子流程?

What subprocess flows need to be created for a deeper level of understanding?

图 7.2所示的图表类型可能不是由架构师制作的,但它对于理解用户在使用系统时试图完成的任务至关重要。如果没有业务分析师来创建流程图,花点时间制作一些基本流程图可以大大提高您和项目团队对需要构建的内容的理解。

The type of diagram shown in Figure 7.2 may not be produced by the architect, but it is essential to understanding what the user is attempting to accomplish when using the system. If a business analyst is not available to create one, taking the time to produce some basic process flow diagrams can significantly improve your and the project team’s understanding of what needs to be built.

图像

图7.2基本流程图

Figure 7.2 Basic process diagram

从架构角度来看,展示流程的基本流程可以帮助您了解解决方案中需要发生的顺序。展示决策点和备选流程也有助于了解工作流程的关键方面。

From an architecture perspective, showing the basic flows of processes can help you understand the sequencing that needs to occur within the solution. Showing decision points and alternative flows can also help inform key aspects of the workflow.

上下文图

Context Diagram

上下文图用于帮助定义系统的边界。它有助于进行范围讨论,以直观的方式展示系统将负责或不负责管理哪些领域。尽早建立这些边界有助于避免误解,并有助于明确您要实现的目标。

A context diagram is used to help define the boundaries of the system. It can help with scope discussions to give a visualization of what areas the system will or will not be responsible for managing. Establishing these boundaries early on can help avoid misunderstandings and help clarify the intent of what you are trying to accomplish.

在环境图的生命周期中,定义范围之内和之外的边界可能会发生变化,但关键结果是让每个人都达成共识。随着系统功能的扩展,该图可能会随着版本的不同而变化。

During the life span of the context diagram, the boundaries that define what is in and out of scope may change, but the key outcome is to get everyone on the same page. The diagram may change from release to release as the capabilities of the system expand.

用户界面模型

User Interface Mock-ups

用户界面模型,即使有误,对于了解企业的​​需求也极为重要。需求文档、史诗级用户故事以及企业希望构建的所有其他文本形式的规范通常都无法充分传达所要求内容的细微差别。

User interface mock-ups, even if they are wrong, are extremely important for understanding what the business is looking for. Requirements documents, epic-level user stories, and all other textual forms of specifications for what the business desires to be built typically fail to adequately convey the nuances of what is being requested.

模型的形式并不重要;它可以是线框,可以是示例 HTML 页面,也可以是餐巾纸上的图表。关键是开始以视觉方式表达所需内容。可视化将引发更深入的对话,并揭示功能之间以及可能与其他系统之间的非语言依赖关系,而这些依赖关系在文本描述中并未说明。

The form of the mock-up doesn’t matter so much; it could be wireframes, it could be sample HTML pages, it could be diagrams on a napkin. The key is to begin expressing visually what is desired. The visualizations will spark significantly deeper conversations and reveal nonverbalized dependencies between capabilities and potentially with other systems that were not stated in the textual descriptions.

在项目开始前,并非所有细节都会被知晓或完全理解,也不应该如此。目标是找出业务发展的方向以及大致所需的功能类型。到项目完成时,随着业务人员外出与客户互动并获得有关潜在发展方向的反馈,业务对其实际需求有了更多的了解,所需的功能集可能会发生变化。

Early on, before the project is formed, not all of the details are going to be known or fully understood, and they shouldn’t be. The goal is to find out the direction in which the business wants to go and approximately the types of capabilities that are desired. By the time the project completes, the set of capabilities desired is likely to have changed as the business learns more about what it actually wants—as the business people go out and interact with customers and get feedback on the potential direction things are heading.

企业将希望修改其路线以更好地满足客户期望。这是一件好事,只是感觉就像在追寻兔子的踪迹。项目早期的变更更容易适应,而在系统的大部分构建完成后,改变方向可能会变得昂贵。

The business will want to modify its course to align better with customer expectations. This is a great thing, except that it may feel as if you are following a rabbit trail. Changes earlier in the project are easier to accommodate, whereas after a significant portion of the system has been built, changing directions can become expensive.

逻辑架构图

Logical Architecture Diagram

逻辑架构图描述了系统的关键组件。典型的图表采用关注点分离方法,其中有一个与用户界面相关的部分,一个与核心系统功能相关的部分(这是大多数业务规则存在的地方),一个与持久层相关的部分(您的数据存储机制),以及一个与安全、日志记录、报告等横切关注点相关的部分。

The logical architecture diagram describes the key components of the system. A typical diagram takes a separation-of-concerns approach where there is a section relating to the user interface, a section for the core system capabilities (this is where most of the business rules exist), a section for the persistence layer (your data storage mechanism), and a section for any crosscutting concerns such as security, logging, reporting, and so on.

该图通常具有很强的功能性(见图7.3)。

This diagram typically has a very functional bent to it (see Figure 7.3).

图像

图7.3逻辑架构图

Figure 7.3 Logical architecture diagram

逻辑架构图可以采用多种形式。其目的是显示架构的关键逻辑分组并显示一些关注点分离。逻辑架构还可以指导计划的实施,包括可能考虑的各种设计模式。

A logical architecture diagram can take many forms. The intent is to show key logical groupings of the architecture and show some of the separation of concerns. The logical architecture can also guide the planned implementation, including the various design patterns that may be considered.

执行概览图

Executive Overview Diagram

高管概览图(为高管利益相关者提供的高级概念图)基本上应包含五个或更少的框。您需要显著提高所考虑系统的抽象级别。您应该包括框的基本描述以及您预计会被问到的几个问题的答案,例如考虑了哪些其他替代方案。高管需要能够在两分钟内理解该图;它需要直观,他们会自然而然地深入研究他们认为不牢固或存在问题的任何细节领域。

An executive overview diagram, a high-level conceptual diagram for executive stakeholders, should basically have five boxes or fewer. You need to significantly raise the level of abstraction for the system under consideration. You should include basic descriptions of the boxes and answers to a few questions that you expect to be asked, such as what other alternatives were considered. The executives need to be able to understand the diagram in less than two minutes; it needs to be intuitive, and they will naturally dive into whatever areas of detail they sense are not solid or have issues.

做好准备,他们会比最高层更深地探索两到四层。做好准备,他们会发现那些模糊的地方,那些细节还没有弄清楚的地方;他们天生就有发现这些地方的本能。

Be prepared for them to dive in two to four layers deeper than what is shown at the highest level. Be prepared for them to find the area of vagueness where all the details have not been figured out; they have a natural instinct for finding these areas.

硬件环境图

Hardware Environments Diagram

硬件环境图对于与数据中心人员的互动至关重要。这些图将有助于回答以下问题:

The hardware environments diagram is essential for interacting with the data center folks. These diagrams will help answer the following questions:

图像该项目将支持哪些环境?

What environments will the project support?

图像沙盒(又称开发实验室)

Sandbox (aka development lab)

图像开发(又称持续集成)

Development (aka continuous integration)

图像质量保证

Quality assurance

图像演示

Demo

图像用户验收测试(QED),通常规模接近生产规模

User acceptance testing (QED), typically sized near production

图像生产

Production

图像谁拥有每个环境的所有权——开发组、数据中心操作、网络、数据库管理员?

Who has ownership of each environment—development group, data center operations, networking, database admins?

图像每种硬件需要多少?是物理硬件、虚拟硬件还是基于云的硬件?

How much of each type of hardware is needed? Will this be physical hardware, virtual hardware, or cloud-based hardware?

图像每种硬件的配置是什么?服务器是否集群?如果是,如何集群?哪些服务器需要访问哪些存储?需要多少内部存储?需要多少网络附加存储 (NAS)?需要什么操作系统?需要什么类型的许可?

What is the configuration of each type of hardware? Are the servers clustered? If so, how? What servers need access to which storage? How much internal storage is required? How much network-attached storage (NAS) is required? What operating system is required? What type of licensing is required?

图像每种硬件的用途是什么?服务器是应用服务器吗?数据库服务器?网络交换机?NAS 文件服务器?

What purpose does each type of hardware serve? Are the servers app servers? Database servers? Network switches? NAS filers?

图像每种环境的交付时间范围是怎样的?

What are the delivery time frames of each type of environment?

图像对于每种类型的硬件和环境,当出现问题或需要维护时,应该通知哪些群体?

For each type of hardware and environment, what groups are to be notified when issues arise or maintenance is required?

图像将为硬件指定什么样的命名约定?

What naming conventions will be specified for the hardware?

图像服务器需要连接到哪些网络?

What networks do the servers need to be connected to?

有时,为了帮助理解您尝试建立的硬件环境,花点时间命名硬件配置模式可以使资本采购变得更加简单。审查购买的人会识别模式名称并快速了解请求的大致成本和运营需求。这可以使购买审查进行得更快,并且需要更少的文档和解释来获得购买批准。

Sometimes to aid in the understanding of the hardware environments you are trying to stand up, taking the time to name the pattern of the hardware configuration can make the capital purchasing much simpler. People who are reviewing the purchase will recognize the pattern name and quickly understand the approximate cost and operational needs of the request. This can make reviews of the purchase go much more quickly and require less documentation and explanation to get the purchase approved.

风险、假设、问题和依赖关系 (RAID)

Risks, Assumptions, Issues, and Dependencies (RAID)

架构师需要编写的关键文档之一是与项目相关的风险、假设、问题和依赖关系 (RAID)(见图7.4)。

One of the key areas of documentation for an architect to produce is the risks, assumptions, issues, and dependencies (RAID) associated with a project (see Figure 7.4).

图像

图 7.4 RAID

Figure 7.4 RAID

RAID 是确保覆盖关键高管关注问题以及更广泛受众关注问题的有效工具。

RAID is an effective tool for ensuring coverage of key executive concerns and those of a wider audience.

后来,当项目进行到一半时,出现了严重问题,建筑师通常是第一个被叫去的人之一帮助确定为什么会发生这种情况以及为什么没有早点认识到这个问题。这通常会邀请高管参与进来。为此做准备的最佳时间是项目开始时。这是明确指出风险、假设、问题和依赖关系的时候。

Later on, when the project is midway through execution and something goes horribly wrong, the architect is usually one of the first people called in to help determine why this occurred and why the problem wasn’t recognized earlier. This usually invites executives to get involved. The best time to prepare for this is when the project is getting started. This is the time to clearly call out the risks, assumptions, issues, and dependencies.

风险

风险是发生可能性较大且可能对架构或项目成功产生重大影响的事件。考虑架构风险时,请考虑以下事项:

Risks are the events that have a reasonable likelihood of occurring and may have a significant impact on the architecture or success of the project. When considering the architectural risks, consider the following:

图像哪些风险可能导致项目延期或无法交付?

What risks may cause the project to be delayed or not delivered?

图像您所在的领域目前是否还没有采用软件开发技能?

Are there software development skills that are not currently employed in your areas?

图像该项目是否需要您的公司或领域不熟悉的新技术?

Are new technologies required for the project that your company or area is not familiar with?

图像该项目是否有具体的承包需求?

Are there specific contracting needs for the project?

图像是否存在企业不愿意支付的扩展需求?

Are there scaling needs that the business is not willing to pay for?

图像是否存在无法满足的较低环境需求?

Are there lower environment needs that will not be fulfilled?

图像是否存在得不到资助的测试工作?

Are there testing efforts that will not be funded?

图像是否正在引入重大的商业风险?

Are significant business risks being introduced?

记录风险可以让利益相关者了解可能导致项目失败的关键不确定因素。这样,他们就可以在风险成为现实时制定风险缓解计划。它还可以作为一种全面披露和透明的机制,有助于建立信任。

Documenting risks lets stakeholders know the key areas of uncertainty that may derail a project. It allows them to develop risk mitigation plans in the event that a risk becomes a reality. It also serves as a mechanism of full disclosure and transparency that help build trust.

假设

假设是架构的先决条件。它们是您认为已完成或真实的事情。在构建和记录架构假设集时,请考虑以下事项:

Assumptions are the prerequisites for your architecture. They are the things you believe to be completed or true. As you build and document your set of architectural assumptions, consider the following:

图像您对该项目有何假设?

What assumptions are you making about the project?

图像你是否认为

Are you assuming that

图像你能成功开发出一些新的能力吗?

You can successfully develop some new capability?

图像某些小组会负责特定部分的工作?

Certain groups will do particular parts of the work?

图像某些重构会发生在现有系统内吗?

Certain refactoring will occur within an existing system?

图像某些集成是必需的还是明确不支持?

Certain integrations will be required or will explicitly not be supported?

图像需要进行一些研究和开发吗?

Some research and development needs to occur?

您记录下来的假设将有助于人们对架构进行思考,并在以后出现问题时作为问题解决机制。

Your documented assumptions will help level-set people’s thinking about the architecture and will serve as an issue-resolution mechanism later on when problems arise.

问题

问题是尚未解决的突出问题。其中包括:

Issues are the outstanding questions that have not been resolved. These include the following:

图像建筑的哪些部分尚未最终确定?

What areas of the architecture have not been finalized?

图像有哪些技术领域还未受到冲击、包含值得关注的领域或存在已知问题?

Are there areas of technology that have not been spiked, contain areas of concern, or have known problems?

图像是否存在合同问题?

Are there contractual issues in play?

图像关键资源最近是否转移到了公司的其他部门?

Has a key resource recently moved to another part of the company?

图像交货期限是否太紧迫?

Is the deadline for delivery overly aggressive?

识别架构文档中的问题至关重要。这样做可以让那些从事项目的人了解架构的哪些方面尚未解决,可能仍需要处理。

It is critical to identify issues in your architectural documentation. Doing so will give those who are working on a project a sense of what areas of the architecture have not been resolved and may still need to be dealt with.

依赖项

依赖项是您的架构所依赖或依赖于您的架构的项目、任务或项目。在确定架构依赖项时,请考虑以下事项:

Dependencies are the items, tasks, or projects that your architecture is dependent upon or that are dependent on your architecture. As you identify your architectural dependencies, consider the following:

图像您的项目需要依赖哪些项目才能完成?如果您指出了这样的依赖关系,您可能需要考虑将您所依赖的项目部分的成本添加到您的估算中。依赖项目延期、未完成您所需的功能或以使其无用的方式更改您所需的功能的情况并不少见。您提供的替代解决方案可能是一种战术解决方案,但它将得到资助,您将有机会按时完成,而不是等待或陷入无处可去的境地。

What projects are you dependent on for your project to complete? If you call out a dependency like this, you may want to consider adding the cost of the portion of the project you are dependent on to your estimate. It is not uncommon for dependent projects to be late, to not complete the feature that you need, or to change the feature that you need in a manner that renders it useless. The alternative solution that you provide may be a tactical solution, but it will be financed and you will have the opportunity to complete on time instead of waiting or being stuck with nowhere to go.

图像您依赖哪些许可协议来提供所需的功能?

What licensing agreements are you dependent on to provide needed functionality?

图像需要购买什么或其他采购?

What purchases or other procurements are needed?

图像需要哪些业务安排?

What business arrangements are needed?

图像需要购买或投入使用哪些硬件?

What hardware needs to be purchased or operationalized?

图像哪些基础设施软件需要投入运营?

What infrastructural software needs to be operationalized?

图像软件是否需要与特定工具或服务集成?

Is software integration with specific tools or services required?

基本上,依赖项就是您需要的任何东西,如果您没有它们,就会阻止您交付项目。

Basically, dependencies are anything that you need that will block you from delivering the project if you don’t have them.

依赖关系需要非常清楚地说明,并让高管人员看得见。这将帮助他们在依赖关系偏离轨道的情况下为您管理依赖关系。他们可能能够施加必要的影响,以使您的依赖关系得以交付。毕竟,确保您的依赖关系和您的项目按承诺交付符合管理层的最佳利益。

Dependencies need to be very clearly stated and made visible to the executive staff. This will help them manage the dependencies for you on the outside chance that the dependencies get off track. They may be able to apply the necessary influence to enable your dependencies to deliver. After all, it will be in your management’s best interest to make sure your dependencies deliver and your project delivers as promised.

整合所有

Bringing It All Together

遵循架构原则、处理架构问题并开发有效的架构工件可以帮助您为企业提供可靠的架构。

Following the architectural principles, dealing with architectural concerns, and developing effective architectural artifacts can help you deliver solid architectures for the business.


记住

Remember

抽象比细节寿命更长。

Abstractions live longer than details.


不要让单一观点把你逼到极端。这些不是法律,而是指导。每条规则都有打破它的正当理由。

Don’t let one vantage point drive you to an extreme. These are not laws; they are for guidance. For every rule there are conditions that justify breaking it.

概括

Summary

建筑透视之路始于

The road to architectural perspective begins with

图像认识并理解建筑原理

Knowing and understanding architectural principles

图像了解并理解架构关注的关键领域

Knowing and understanding key areas of architectural concern

图像创建建筑文物,使正在创建的内容更加清晰

Creating architectural artifacts to bring clarity to what is being created

从架构角度看待项目可以对项目有更全面的了解。它有助于提出和澄清关键风险、假设、问题和依赖关系,从而帮助项目顺利运行,使业务和技术对正在生产的内容有共同的理解。

Having an architectural perspective on a project can result in a broad understanding of it. It can help raise and clarify key risks, assumptions, issues, and dependencies to help enable a smoothly running project where both the business and technology have a common understanding of what is being produced.

参考

References

Bass, Len、Paul Clements 和 Rick Kazman。2012 年。《软件架构实践》,第三版。Addison-Wesley。

Bass, Len, Paul Clements, and Rick Kazman. 2012. Software Architecture in Practice, Third Edition. Addison-Wesley.

Clements, Paul、Felix Bachmann、Len Bass、David Garlan、James Ivers、Reed Little、Paulo Merson、Robert Nord 和 Judith Stafford。2011 年。《记录软件架构:视图及其他》,第二版。Addison-Wesley。

Clements, Paul, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, and Judith Stafford. 2011. Documenting Software Architectures: Views and Beyond, Second Edition. Addison-Wesley.

Janert, Philipp K. 2013.计算机系统的反馈控制:向企业程序员介绍控制理论。O'Reilly Media。

Janert, Philipp K. 2013. Feedback Control for Computer Systems: Introducing Control Theory to Enterprise Programmers. O’Reilly Media.

Poppendieck, Mary 和 Tom Poppendieck。2003 年。精益软件开发:敏捷工具包。Addison-Wesley。

Poppendieck, Mary, and Tom Poppendieck. 2003. Lean Software Development: An Agile Toolkit. Addison-Wesley.

Reinertsen, Donald。2012 年。《产品开发流程原则:第二代精益产品开发》。Celeritas Publishing。

Reinertsen, Donald. 2012. The Principles of Product Development Flow: Second Generation Lean Product Development. Celeritas Publishing.

Rozanski, Nick 和 Eóin Woods。2011 年。《软件系统架构:利用观点和视角与利益相关者合作》,第二版。Addison-Wesley。

Rozanski, Nick, and Eóin Woods. 2011. Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives, Second Edition. Addison-Wesley.

第 8 章 治理

Chapter 8. Governance

“建筑就是对真理的追求。”

“Architecture is the reaching out for the truth.”

—路易斯·康

—Louis Kahn

“在任何建筑中,实用功能和象征功能之间都存在着一种平衡。”

“In any architecture, there is an equity between the pragmatic function and the symbolic function.”

—迈克尔·格雷夫斯

—Michael Graves

“作为设计师,我们肩负的使命很简单:以合适的成本提供空间。”

“As a designer, the mission with which we have been charged is simple: providing space at the right cost.”

—哈里·冯·泽尔

—Harry von Zell

您是否曾纵观整个企业,发现同一软件的重复实施,并自问:“这怎么可能发生?他们为什么不共享实施?”

Have you ever looked across the business and observed duplicate implementations of the same software, and thought to yourself, “How in the world could this happen? Why aren’t they sharing the implementation?”

经过进一步调查,您会发现,这两个小组不仅都认为他们的行为符合公司的最佳利益,而且彼此都不知道对方的实施情况。

On further investigation, you realize that not only did both groups believe they acted in the best interests of the company, but neither group knew of the other’s implementation.

这种情况的另一种变化是,企业收购了多家实际上做同样事情的公司。你以为自己是爱丽丝梦游仙境,而世界已经天翻地覆。

Another variation of this situation is when the business has bought multiple companies that actually do the same thing. You think you are Alice in Wonderland and the world has turned upside down.

在架构领域,架构师是业务的沟通渠道,帮助企业就业务流程、技术和集成做出合理的业务决策。架构师能够识别具有挑战性的情况、提供替代的低成本解决方案以及识别杠杆机会,因此从业务角度来看,他们受到高度重视。

In the world of architecture, the architect serves as a conduit to the business to help make sound business decisions with respect to business processes, technology, and integration. The ability of architects to recognize challenging situations, to provide alternative low-cost solutions, and to recognize leverage opportunities makes them highly valued from a business perspective.

本章揭示了软件架构师所需的基本技能之一:为软件项目和收购提供治理的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to provide governance for software projects and acquisitions.

治理定义

Governance Defined

治理是对项目和平台的监督,为设计和开发提供界限。这些界限不是绝对的,但却是合理的指导方针,有助于降低风险、降低成本并提高业务杠杆率。

Governance is the oversight of projects and platforms that provides the boundaries for design and development. These boundaries are not absolute but are reasonable guidelines to help mitigate risks, reduce costs, and promote leverage for the business.

治理最好由组织内的高层领导负责。这将有助于获得他们所需的支持,以成功实施治理计划。随着计划的进展,针对您的组织制定的标准将源于良好的治理。

Governance is best chartered with the senior leadership within your organization. This will help build the support that is needed from them to successfully implement a governance program. As the program progresses, standards that are crafted toward your organization will arise from good governance.

治理原则

Governance Principles

治理原则是帮助您正确监督项目和平台的原则。当项目即将开始以及即将发布主要版本时,应遵守并仔细考虑这些原则。

Governance principles are principles to help enable proper oversight of your projects and platforms. They should be adhered to and carefully considered when projects are about to begin and when they are approaching major releases.

避免供应商锁定

Avoid Vendor Lock-in

当您始终为特定解决方案选择单一供应商时,就会发生供应商锁定。从表面上看,这似乎是个好主意:

Vendor lock-in occurs when you consistently choose a single vendor for a particular solution. On the surface, this seems like a good idea:

图像您可以获得广泛的标准化。

You can gain broad standardization.

图像您最初可以获得很大的价格折扣。

You can initially obtain great pricing discounts.

图像您可以获得广泛的操作知识。

You can gain broad operational knowledge.

图像凭借广泛的技术知识和专业知识,您可以快速融入。

You can quickly integrate due to broad technical knowledge and know-how.

这个清单可以列很长,特别是如果你听听一些供应商的销售代表的说法。

The list goes on and on, especially if you listen to the sales representatives of some vendors.

然而,一旦供应商与你的业务和运营紧密结合,他们就会让你陷入困境,尤其是如果更换供应商的成本很高的话。这时供应商就会开始大幅提高产品价格。你会感觉到,如果你是一条鱼,鱼钩会很深,想要摆脱它将会很痛苦。

However, once vendors are tightly integrated into your business and operations, they have you over a barrel, especially if the cost to swap them out is high. This is the point where vendors begin increasing the price for their products dramatically. You have the sense that if you were a fish, the hook would be set deep and it’s going to be painful to get away.

当你纵观整个项目集时,确保在有可用的产品和服务替代方案时能够意识到它们;标准化很好,但是供应商锁定可能会破坏你的成本结构(见图8.1)。

As you look across the set of projects, ensure that there is an awareness of alternative options for products and services when they are available; standardization is great, but vendor lock-in can be disruptive to your cost structure (see Figure 8.1).

图像

图 8.1避免供应商锁定——退出成本很高。

Figure 8.1 Avoid vendor lock-in—it’s expensive to exit.

有效的供应商管理至关重要,因为供应商锁定可能会破坏业务案例。制定计划来处理潜在的供应商锁定,执行计划并制定退出策略。这需要一定的判断力。有时利用一个供应商可以节省大量成本。在这种情况下,您始终需要保持敏捷。如果您有一个技术采购领域,其职责是支持供应商管理,那么成熟的采购实践可以帮助监控和控制这一点。

Effective vendor management is critical because vendor lock-in can destroy a business case. Have a plan for how to deal with potential vendor lock-in, execute the plan, and have an exit strategy. This requires some discretion. Sometimes leveraging one vendor can provide significant cost savings. In these circumstances, you always need to remain agile. Mature procurement practices can help monitor and control this if you have a technology procurement area whose charter is to support vendor management.

鼓励使用开源

Encourage Open-Source Usage

开源工具以优惠的价格提供出色的软件——通常是免费的。开源软件面临的主要挑战通常包括

Open-source tools offer excellent software at great prices—typically free. The key challenges for open-source software typically include

图像 确保开源许可模式不会影响您的知识产权或您向客户收取您所创建产品的费用的能力。Apache许可通常是一个非常安全的选择。其他许可应该由您的律师评估;他们可以审查与许可相关的影响以及使用具有不同许可模式的多个开源软件工具的任何潜在问题。理想情况下,如果您可以创建并维护“已批准”许可模式列表,则可以将使用审批流程保持在最低限度。

Ensuring that the open-source licensing model does not impact your intellectual property or your ability to charge customers for the products that you create. Apache licensing is usually a very safe option. Other licenses should be evaluated by your lawyers; they can vet the impacts related to licensing and any potential issues with using multiple open-source software tools that have different licensing models. Ideally, if you can create and maintain a list of “approved” licensing models, you can keep the usage approval process to a minimum.

图像 确保开源社区支持活跃。如果开源工具没有得到社区的积极支持,其使用率就会下降,错误也可能不会得到修复。您仍然可以选择贡献工作来修复对您有影响的缺陷。您需要确保您不承担与贵公司员工所做的编码更改相关的负面影响的法律责任。这是您的法律顾问需要验证的一个很好的领域。

Ensuring that the open-source community support is active. If the open-source tool is not actively supported by its community, it will atrophy in usage and bugs will likely not get fixed. You still have the option of contributing work to fix defects that impact you. You need to ensure that you are not legally liable for negative impacts related to the coding changes made by employees at your firm. This is a good area for your legal counsel to validate.

图像 确保您对开源软件的使用符合与该工具相关的许可。

Ensuring that your usage of the open-source software complies with the license associated with the tool.

图像 确保积极跟踪您正在使用的开源工具。如果发现与开源软件相关的严重问题或诉讼,您需要了解您的业务中哪些领域可能会受到影响或可能需要立即关注。您可以利用一些工具来扫描您的软件并报告正在使用的开源工具,并标记可能存在问题的工具。

Ensuring that you actively keep track of the open-source tools that you are leveraging. If there turn out to be critical issues or litigation related to the open-source software, you want to know the areas of your business that are likely to be impacted or may need immediate attention. There are tools that you can leverage that will scan your software and report on which open-source tools are in use and flag the ones that may be problematic.

图像 确保积极跟踪开源问题和错误列表。例如,如果某个开源软件存在重大安全漏洞,您需要尽快了解,以便做出适当反应。

Ensuring that you actively keep track of the open-source issues and bug lists. For instance, if there is a significant security hole related to some open-source software, you want to be aware of it quickly so you can react appropriately.

了解与开源相关的支持成本,并了解您影响开发优先级或开发社区错误修复的能力。如果您无法及时处理问题,这种潜在的 SLA 缺失可能会让您在客户面前处于不利地位。

Be aware of the support costs related to open source and understand your ability to influence the priority of development or a bug fix by the development community. This potential lack of an SLA could put you in a bad position with your customers if you are not able to deal with an issue in a timely manner.

开源的使用应该纳入您的收购、采购和第三方集成流程中。使用开源可以成为与价格高于预期的供应商谈判的有效工具。

Your open-source usage should be incorporated into your acquisition, procurement, and third-party integration processes. The use of open source can be an effective tool in negotiating with vendors whose pricing is higher than desired.

一般来说,开源工具是降低产品成本结构的好方法,而且通常比市售工具得到更好的支持和更开放的问题。

In general, open-source tools are a great way to reduce the cost structure of your products and often are better supported and more open about issues than commercially available tools.

最大限度地降低中断成本(即实现业务连续性规划和灾难恢复)

Minimize the Cost of Disruption (aka Enable Business Continuity Planning and Disaster Recovery)

最大限度地降低中断成本意味着专注于从灾难或意外事件中恢复并在相对较短的时间内恢复正常业务运营的能力。灾难很少见,但确实会发生,如果你没有做好准备,它们可能会对你的产品造成毁灭性的影响,甚至可能对你的生意造成致命影响。想想如果

Minimizing the cost of disruption means focusing on the ability to recover from a disaster or unplanned event and resume normal business operations in a relatively short amount of time. Disasters are rare, but they do happen, and if you are not prepared they can be devastating to your products and potentially lethal to your business. Consider what would happen if

图像你的服务器所在的数据中心被洪水淹没,所有服务器都被摧毁

The data center where your servers are located floods, and all the servers are destroyed

图像存储关键业务数据的主数据库服务器的磁盘子系统发生彻底故障

Your primary database server that houses your business-critical data has a complete disk subsystem failure

图像所有员工工作的大楼在非工作时间因地震被摧毁

The building where all of your employees work is destroyed by an earthquake during nonworking hours

这些都是相对不太可能发生的事件,但它们确实会发生。在发生此类事件后,您做了哪些准备来确保您的业务能够继续运营,并将中断降到最低?

These are all relatively unlikely events, but they can happen. What preparations have you made to ensure that your business will continue to operate with minimal disruptions after an event such as these has occurred?

当企业或产品规模较小且刚刚起步时,灾难恢复可能不是最需要关注的领域。然而,当企业发展壮大、产品取得成功时,实施灾难恢复机制可能是一项昂贵的任务。

When a business or product is small and first starting out, disaster recovery may not be on the top of the list of areas to focus on. However, by the time the business has grown and the product is successful, implementing disaster recovery mechanisms can be an expensive proposition.

如果你的企业使用数据中心的服务器,你是否考虑过

If your business operates with servers in a data center, have you considered

图像将您的数据副本存储在异地?

Storing copies of your data off-site?

图像具有温站点/热站点冗余吗?

Having warm site/hot site redundancy?

图像是否拥有一组与主站点在地理上分离的被动辅助服务器或替代主动服务器?

Having a passive secondary or alternative active set of servers that is geographically separate from the primary site?

图像是否已制定数据复制计划来支持辅助站点?

Having data replication plans in place to support the secondary site?

图像是否已制定运营计划和支持来处理将辅助站点切换为主站点的任务?

Having the operational plans and support in place to handle switching the secondary site to become the primary site?

图像您的企业有其他地理位置吗?

Having other geographic locations for your business?

图像制定灾难恢复计划并使其与业务更大的连续性计划保持一致?两者需要同步。

Creating a disaster recovery plan and having it aligned with the business’s larger continuity plan? The two need to be in sync.

图像演练灾难恢复计划?您肯定不希望在需要使用计划时发现其中的漏洞;最好在演练过程中发现漏洞。

Rehearsing the disaster recovery plan? You do not want to find a hole in the plan when it needs to be used; it is much better to find the hole during a drill.

还应制定书面的业务连续性计划 (BCP),以便每个人都清楚自己在发生灾难时应承担的责任。该计划不仅应包括您直接负责的服务,还应包括与第三方提供商的整合。与危机管理小组一起进行桌面演练、讨论和处理模拟灾难是练习、准备和实施业务连续性计划的好方法。

There should also be written business continuity plans (BCPs) in place so everyone knows his or her responsibility if and when a disaster occurs. This plan should include not only the services you are directly responsible for, but also integrations with your third-party providers. Holding tabletop exercises and talking and working through simulated disasters with the crisis management group can be a great way to practice, prepare, and bring life to your business continuity plans.

这些类型的计划将有助于确保您的业务即使在发生灾难时也能正常运转(见图8.2)。

These types of plans will help ensure that your business is alive and well even when disaster strikes (see Figure 8.2).

图像

图 8.2适当的灾难恢复可以将灾难转变为简单的不便。

Figure 8.2 Proper disaster recovery can transform a disaster into simply an inconvenience.

实现业务部门之间的松散耦合

Enable Loose Coupling between Business Units

实现业务部门之间的松散耦合对于两个部门的持续成功运营至关重要。

Enabling loose coupling between business units is essential for the continued successful operation of both units.

两个业务部门集成系统时常见的关注领域包括

The common areas of concern when two business units integrate systems include

图像 管理两种不同的运营模式。两个业务部门的运营模式是否已知且记录在案?是否每个人都知道这些差异以及这些差异的潜在影响?例如,什么时候可以中断系统或让系统执行某些维护活动?

Managing to two different operational models. Are the operational models of both business units known and documented? Is everyone aware of the differences and potential impacts of these differences? For instance, when is it okay to take a system outage or have the system perform some maintenance activity?

图像 管理两个不同的客户使用周期。不同的业务部门通常一年中有不同的重要时间,这通常会导致基于与决策方相关的假设做出决策。例如,是否每个人都知道什么时候

Managing to two different customer usage cycles. Different business units often have different important times of the year, which typically leads to decisions that are based on assumptions that are relevant to the party that is making the decision. For instance, is everyone aware of when

图像是否正在进行一项重要合同的关键系统演示?

A critical system demo is occurring for a major contract?

图像业务部门正在召开一次重要会议?

A major conference for the business unit is occurring?

图像业务部门系统最繁忙的一天、一周或一个月是?

The busiest day, week, or month for the business unit’s systems is?

图像 及时管理两个业务部门的问题升级程序。

Managing issue escalation procedures across two business units in a timely fashion.

图像 管理两种可能不同的灾难恢复方法和业务连续性计划。

Managing to two possibly different disaster recovery approaches and business continuity plans.

两个业务部门之间发生的耦合需要记录在案,并向两个组织进行充分沟通。耦合需要非常松散,以便双方能够根据需要灵活调整,而不会对另一方组织产生重大影响。想想 80/20 规则:太多例外会削弱运营模式并造成复杂性。

The coupling that occurs between two business units needs to be well documented and well communicated to both organizations. The coupling needs to be extremely loose to enable both parties to flex as needed without dramatically impacting the other organization. Think of the 80/20 rule: too many exceptions will dilute the operational model and create complexity.

两者之间的紧密集成最终可能会给两个组织带来灾难,而不仅仅是一个组织的问题。例如,不要创建为每个租户设置许多操作异常的多租户架构,而是考虑使用共享库组件创建单独的服务。

A tight integration between the two could end up spelling disaster for both organizations instead of just being an issue for one organization. For example, instead of creating a multitenant architecture with many operational exceptions for each tenant, consider creating separate services using shared library components.

利用通用功能

Leverage Common Capabilities

利用通用功能,特别是以平台的形式,是多个应用程序和潜在多个业务部门增加构建应用程序或平台的投资价值的一种有效方式。

Leveraging common capabilities, especially in the form of a platform, is a dramatic way for multiple applications and potentially multiple business units to compound the value of the investment in building the application or platform.

通常,建立应用程序所需的基础架构是构建应用程序过程中成本较高的部分之一。利用和重用已完成的工作的能力可以显著提高未来应用程序的投资回报率(假设确实存在利用机会)。

Typically, the infrastructure necessary to set up an application is one of the more expensive portions of building it. Your ability to leverage and reuse the work that was done can dramatically improve the ROI of future applications, assuming there are in fact leverage opportunities.

利用通用能力的挑战领域包括

The areas of challenge for leveraging common capabilities are

图像 调整应用程序的要求以满足杠杆系统的功能。这两者很少完全一致。关键问题如下:

Adjusting the requirements of the application to meet the capabilities of the leveraged system. The two rarely line up exactly. The key questions are the following:

图像从产品角度来看,为了发挥该功能而做出必要的妥协是否可以接受?

Is it acceptable from a product perspective to make the compromises necessary to leverage the capability?

图像改变杠杆代码并以一种利用相同功能的所有其他方都可以接受的方式进行投资是否值得?

Is it worth the investment necessary to change the leveraged code and to do it in a fashion that is acceptable to all other parties that are leveraging the same capability?

图像是否可以对请求业务部门所需的更改设置功能访问控制,以防止其他合作伙伴进行更改?

Is it possible to place feature access controls around the change that is needed by the requesting business unit to prevent changes to the other partners?

图像是否可以动态加载请求业务部门所需的代码并保持杠杆系统的独立运行?

Is it possible to dynamically load code that the requesting business unit needs and maintain independent operations of the leveraged system?

图像 协调两个业务部门的运营方面,以实现顺畅、不间断的客户体验。

Aligning the operational aspects of both business units to enable smooth, uninterrupted customer experiences.

图像 确保在系统集成时维护两个系统的安全性、机密性、监管和隐私问题。

Ensuring that the security, confidentiality, regulatory, and privacy concerns of both systems are maintained when the systems are integrated.

当系统构建正确且两个系统的要求一致时,利用系统之间的通用功能对于公司来说是一个巨大的战略优势。

Leveraging common capabilities between systems is a huge strategic advantage for a company when the systems are built correctly and the requirements of the two systems line up.

例如,基于服务的组织可能能够利用通用的私有云并创建社区来整合能力并根据其要求(包括监管)降低成本。

For example, service-based organizations may be able to leverage a common private cloud and create communities to consolidate capabilities and reduce costs based on their requirements, including regulatory.

或者说,当两个系统的要求不一致时,为了利用而利用系统之间的功能是灾难的根源。这可能会对两个组织产生负面影响,并导致两个系统的用户体验不佳。

Alternatively, leveraging capabilities between systems for the sake of leverage when the two systems’ requirements do not line up is a recipe for disaster. It will likely negatively impact both organizations and result in a negative user experience with both systems.

一如既往,架构就是做出务实的决定。原则和规则是行为的指导方针,而不是没有例外的戒律。你被雇来思考,而不是盲目地遵循先前的决定或行业中最热门的趋势。

As always, architecture is about making pragmatic decisions. Principles and rules are guidelines for behavior, not commandments that have no exceptions. You are being paid to think, not blindly follow previous decisions or the hottest trend flowing through the industry.

应始终在业务背景下评估通用能力。根据评估结果,可以做出明智的业务决策。

Common capabilities should always be evaluated in the context of the business. Based on the outcome of the evaluation, an informed business decision can be made.

确保法规合规性

Ensure Regulatory Compliance

监管合规对于某些业务线至关重要。医疗保健、保险、航空、金融服务等许多领域都受到政府的严格监管。这些行业面临的挑战是,联邦、州和地方层面都有监管规定。了解监管合规背后的基本原则

Regulatory compliance is essential for certain lines of business. Areas such as health care, insurance, aviation, financial services, and many others are closely regulated by governments. The challenge for many of these industries is that there are regulations at the federal level, state level, and potentially the local level. Be aware of the basics behind

图像PCI DSS(信用卡合规性)

PCI DSS (credit card compliance)

图像SOX(企业责任合规)

SOX (corporate responsibility compliance)

图像FISMA(联邦机构安全控制合规)

FISMA (federal agency security controls compliance)

图像NERC(与发电和配电相关的合规性)

NERC (compliance related to power generation and distribution)

图像FedRAMP(与云合规性相关的联邦安全)

FedRAMP (federal security related to cloud compliance)

图像HIPAA(医疗相关合规性)

HIPAA (health-care-related compliance)

图像DIACAP(国防部相关合规性)

DIACAP (Department of Defense–related compliance)

企业内部有专人跟踪系统所需的相关监管要求以及系统需要遵守的司法管辖区至关重要。其中许多挑战在于,跟踪法律法规的人可能不具备技术导向,这会使跟踪和解读变得困难。

Having someone within the business who can track the appropriate regulatory requirements for your system and the jurisdictions with which it needs to be compliant is critical. The challenge for many of these is that the person tracking the laws and regulations may not be technically oriented, which can make tracking and interpretation challenging.

从架构治理的角度来看,关键是要知道谁是负责合规的人员或部门,并与该人员密切合作,建立可用于沟通的通用词汇。

From an architectural governance perspective, the key is to know who the person or department responsible for compliance is and work with that person closely to establish a common vocabulary that can be used to communicate.

在尝试合规之前,请确保您了解合规要求;这条路可能比您最初想象的更长、更复杂、更昂贵。考虑制定风险矩阵,并确保您了解合规评估的频率;可能需要每年进行一次。

Before attempting compliance, make sure you understand the requirements to be in compliance; it may be a longer, more complicated, and more expensive road than you first think. Consider developing a risk matrix, and ensure that you understand the frequency of assessment for compliance; it may have to be done annually.

大多数监管合规工作的关键在于展示尽职调查。如果不合规,并且有记录,并且有实现合规的路线图,那么不合规可能并不是一件坏事。

The key to most regulatory compliance efforts is to demonstrate due diligence. Being out of compliance may not be bad if it is documented and there is a roadmap to achieving compliance.

及时掌握监管变化对于企业和使用您软件的客户来说都至关重要。

Staying on top of regulatory changes and doing so in a timely fashion is critical for the business and for the customers who use your software.

确保安全

Ensure Security

安全是一个多维度的问题。它很复杂,如果实施不当,如果用户群体不信任您的系统,您的软件几乎会变得毫无价值。

Security is a multidimensional problem. It is complex and if implemented incorrectly has the ability to render your software nearly worthless if your user community doesn’t trust your system.

安全涉及许多要素。其中包括

Security has many elements to it. These include

图像安全的身份验证和授权(请参阅本章后面的身份和访问管理部分)

Secure authentication and authorization (see the section on identity and access management later in the chapter)

图像数据分类和安全

Data classification and security

图像封存

Sequestration

图像安全同步数据链路控制 (SDLC)

Secure Synchronous Data Link Control (SDLC)

图像隐私

Privacy

图像物理和程序访问

Physical and programmatic access

图像配置和及时取消配置(这在大多数组织中通常是一个巨大的差距)

Provisioning and timely deprovisioning (this is often a huge gap in most organizations)

图像服务器和数据的地理位置

Geographic location of servers and data

从治理角度来看,每个领域都有各自的问题。确保妥善处理与这些领域相关的威胁对于企业来说至关重要,尤其是在系统使用方式的背景下。

From a governance perspective, each of these areas has its own set of concerns. Ensuring that the threats associated with these areas are properly addressed is critical for the business, especially in the context of how the system is being used.

越来越多的客户 IT 团队正在审核应用程序是否符合安全要求。这些要求的实施成本可能很高,尤其是对于旧系统而言。因此,在新开发中应将安全性作为优先事项,并考虑如何经济高效地实现与旧系统的合规性。这正在成为架构流程中更重要的一部分。

Increasingly customers’ IT groups are auditing applications for adherence to security requirements. These can be costly to implement, especially for legacy systems. For this reason, make security a priority in new development and consider how to cost-effectively achieve compliance with older systems. This is becoming a larger part of the architecture process.

最小特权原则(又称最小权威原则)

The Principle of Least Privilege (aka the Principle of Least Authority)

最小权限原则意味着授予完成一项或一组任务所需的绝对最小安全权限。通过限制用户可以访问的内容,您可以限制他们访问他们不应该访问的内容的机会,并且可以防止意外发生“危险”操作。

The Principle of Least Privilege means giving out the absolute minimum security rights to accomplish a task or a set of tasks. By limiting what users have access to, you limit the chances that they will have access to something they are not supposed to have access to, and you may prevent a “dangerous” operation from accidentally occurring.

创建一个灵活有效的安全系统并非易事,尤其是当用户可以拥有多个角色并且可以添加和撤销单个安全权限时。如果您从业务中获得了复杂的安全需求,请努力简化模型。

Creating a flexible and effective security system is tricky, especially if the users can have multiple roles and individual security rights can be added and revoked. If you get complex security requirements from the business, work to simplify the model.

软件越复杂,系统出现漏洞的可能性就越大,测试软件以确保其正常运行的难度也就越大。

The more complex it is, the more likely it is that there are holes in the system and the more difficult it will be to test the software to ensure that it is working correctly.

保持简单,限制用户对必要内容的访问,并保护具有广泛影响的操作。

Keep it simple, limit users’ access to what is necessary, and protect operations that have broad impacts.

寻求统一的身份和访问管理

Seek Unified Identity and Access Management

身份和访问管理 (IAM)是一种管理用户身份及其相关系统访问的能力。理想情况下,您可以创建/利用一个统一的身份和访问管理系统,以帮助确保妥善管理对系统的访问,并为访问您系统的用户提供更简单的用户体验。如果您要处理各种采用不同方法处理该问题的旧系统,那么这可能是一个具有挑战性的问题。

Identity and access management (IAM) is the ability to manage the identity of users and their associated access to systems. Ideally, you would create/leverage a single unified identity and access management system to help ensure that access to your systems is managed well and to provide a simpler user experience for those who are accessing your systems. This can be a challenging problem to solve if you are dealing with a variety of legacy systems that have approached the problem differently.

统一身份和访问管理有几个关键要素:

There are several key elements to unified identity and access management:

图像 单点登录 (SSO)。这是一次登录并基于此操作访问多个系统的能力。

Single sign-on (SSO). This is the ability to sign on once and access multiple systems based on this action.

图像 多因素/多级身份验证。这是使用多种身份验证机制来验证用户身份的能力。

Multifactor/-level authentication. This is the ability to have more than one authentication mechanism to validate the identity of the user.

图像 身份交换。这是使用 SAML 等标准在两个身份提供者之间交换身份信息的能力。

Identity interchange. This is the ability to exchange identity information between two identity providers with standards such as SAML.

图像 用户配置和取消配置。这是创建、管理和停用用户帐户及其相关权利的能力。

User provisioning and deprovisioning. This is the ability to create, manage, and deactivate user accounts and their associated entitlements.

图像 用户活动合规性。这是记录、审计和报告用户活动的能力,以验证这些活动并出于合规性目的执行根本原因分析。

User activity compliance. This is the ability to log, audit, and report on a user’s activities to validate them and perform root-cause analysis for compliance purposes.

图像 Web 访问管理。这是为 Web 应用程序提供 IAM 的能力。

Web access management. This is the ability to provide IAM for web applications.

寻求数据可移植性(又称避免数据锁定)

Seek Data Portability (aka Avoid Data Lock-in)

当您利用无法控制数据持久性的系统时,您需要注意潜在的数据锁定。这意味着系统中的原始信息无法访问或不易访问。要么确保数据在合同中可供您使用,要么确保有 API 或服务允许您轻松导出数据,这样如果您选择将其移动到另一个系统,这是一个相对简单的过程。

As you leverage systems in which you do not control the persistence of the data, you need to be aware of potential data lock. That means that the raw information that resides within the system is not accessible or is not easily accessible. Either ensure that the data is available to you contractually, or ensure that there are APIs or services that allow you to easily export your data so that if you choose to move it to another system, it is a relatively straightforward process.

寻求集成和自动化

Seek Integration and Automation

在开发系统时,您希望将治理集成到正常的开发过程中。理想情况下,治理将由开发团队采用和维护。在可能的程度上,您希望实现治理检查的自动化。

As you develop systems, you want your governance to be integrated into the normal development process. Ideally, the governance will be adopted and maintained by the development team. To the degree possible, you want to automate the governance checking.

治理领域

Areas of Governance

对于建筑师来说,很多领域都需要一定程度的治理或监督(见图8.3)。

For an architect, a variety of areas require some level of governance or oversight (see Figure 8.3).

图像

图 8.3治理领域

Figure 8.3 Governance areas

估计

Estimates

技术团队和运营团队制作的估算,无论是出于信息目的还是为了制作商业案例,都需要根据在将估算交给企业之前准备的架构方法进行验证。

Estimates produced by the technology teams and operational teams, whether for informational purposes or to produce a business case, need to be validated against the architectural approach that was prepared prior to handing over the estimates to the business.

审查估算时的主要考虑因素包括:

Key considerations when reviewing an estimate include the following:

图像估算的所有领域都已考虑了吗?

Have all areas of the estimate been accounted for?

图像估算结果是否符合你对估算结果的想法?如果不符合,请花时间与特定团队会面,了解意见分歧之处。如果不清楚,则采用较高的估价。

Does the estimate align with your thoughts about what the estimate should be? If not, take the time to meet with the specific teams to understand where there is a difference of opinion. If it is unclear, go with the higher estimate.

图像估算中所有可选元素的依赖关系是否都已得到适当考虑?如果选择了可选元素,是否包括与依赖关系相关的成本?

Do all optional elements of the estimate have their dependencies properly accounted for? If an optional element is selected, are the costs associated with the dependencies included?

图像您的风险、假设、问题和依赖关系是否与估算团队的一致?

Are your risks, assumptions, issues, and dependencies in alignment with the estimating team’s?

图像企业是否已表明项目的预期成本是多少?如果估算值高于企业想要花费的金额,是否还有其他方法可以考虑?

Has the business indicated what the desired cost of the project would be? If the estimate is higher than the amount the business wants to spend, are there any alternative approaches that should be considered?

图像您的管理层有机会看到估算结果吗?管理层讨厌意外— 在正式发布之前让他们看到这些数字。

Has your management had a chance to see the estimate? Management hates surprises—let them see the numbers before they are formally published.

拥有良好的需求收集和 RFI(信息请求)/RFP(提案请求)开发流程将有助于做出可靠的估算。

Having a good requirements-gathering and RFI (request for information)/RFP (request for proposal) development process will help facilitate solid estimates.

管理问题

Management Concerns

管理问题可以有多种形式,例如:

Management concerns can take many forms, such as the following:

图像 采购治理。这通常由财务部门的一个小组负责监督。采购治理的目标是帮助确保产品或服务的成本尽可能低,使产品或服务能够在多个业务部门中发挥作用,为未来的潜在用途和增长做好准备,并确保产品或服务的许可模式不会与当前或未来的业务需求相冲突。

Procurement governance. This is usually overseen by a group within finance. The goal of procurement governance is to help ensure the best possible costs of a product or service, to enable leverage of the product or service across multiple business units, to prepare for potential future uses and growth, and to ensure that the licensing models of the product or service do not conflict with current or future business needs.

图像 项目组合管理。这通常由项目管理办公室 (PMO) 监督。PMO 的目标是管理组织正在执行的项目的整体组合。他们倾向于监督和管理有关时间表、资源、财务和认证的信息传播。架构师的目标是与 PMO 合作管理项目,并确保他们负责的项目成功发布。

Portfolio management. This is usually overseen by a project management office (PMO). The goal of the PMO is to manage the overall portfolio of projects that are being executed by an organization. They tend to oversee and manage dissemination of information around schedules, resources, financials, and certifications. The goal for an architect is to partner with the PMO on the management of projects and to ensure that the projects they are responsible for are successfully released.

图像 产品线。这些通常由新产品开发和营销部门监督。他们将决定整个项目套件以及如何向不同的细分市场展示它们。从架构的角度来看,目标是提供支持和建议在适当的时候处理产品的方法。最终,产品归企业所有,您需要尊重他们的意愿。

Product lines. These are usually overseen by new product development and marketing. They will determine the overall suite of projects and how they are presented to the different market segments. From an architecture perspective, the goal is to be supportive and suggest ways that you might approach the products when appropriate. In the end, the business owns the products and you need to respect their wishes.

图像 财务。财务部门掌控着钱袋,通常对资金分配和分配金额的任何差异都有规定。作为一名建筑师,你越能帮助将成本控制在财务部门设定的参数范围内,你遭受的行政监督就越少。

Finance. Finance controls the purse strings and normally has rules around the allocation of funds and any variances to the allocated amounts. As an architect, the more you can help keep costs inside the parameters set by finance, the less executive oversight you will incur.

图像 法规遵从性。法规遵从性意味着确保您遵守所生产产品及其生产环境的法规。通常,这由合规小组、安全小组或法律小组监督。您的工作是确保您了解规则,或者更好的是,知道谁知道规则,以帮助确保您遵守规则。

Regulatory compliance. Regulatory compliance means ensuring that you are compliant with the regulations for the products that you produce and the environment in which they are produced. Normally, this is overseen by a compliance group, a security group, or a legal group. Your job is to make sure you know the rules or, better yet, know who knows the rules to help ensure that you are in compliance.

图像 法律合规。法律合规通常涉及专利、知识产权、诉讼、法律保留和其他相关领域。作为一名建筑师,最好的选择是了解您的法律顾问是谁,并定期与他或她合作处理您可能遇到的任何问题。理想情况下,简要了解法律如何帮助您,可以让您了解何时应该聘请律师。

Legal compliance. Legal compliance normally deals with areas such as patents, intellectual property, lawsuits, legal holds, and other related areas. As an architect, the best option here is to know who your legal counsel is and work with him or her on a regular basis to deal with any questions you may have. Ideally, getting a brief overview of how legal can help you will give you a sense of when you should engage an attorney.

图像 IT 合规性。这通常由数据中心管理,用于硬件的实际实施和部署。通常由架构师和业务部门合作伙伴负责向数据中心阐明项目的合规性需求。

IT compliance. This is usually managed by the data center for an actual implementation and deployment of hardware. It is usually the responsibility of the architect and the business unit partner to articulate the compliance needs for a project to the data center.

建筑学

Architecture

架构评审可以采取多种形式,例如:

Architecture reviews can take many forms, such as the following:

图像 方法审查。这通常由估算团队(包括企业主)完成。此审查的目的是了解架构,以便进行估算,同时也要根据架构验证业务目标以及风险、假设、问题和依赖关系。

Approach review. This is typically done by the estimating team, including the business owners. The purpose of this review is to understand the architecture in order to create an estimate, but also to validate the business objectives against the architecture as well as the risks, assumptions, issues, and dependencies.

图像 高管审核。这通常由技术副总裁或当地业务部门的首席技术官完成。此审核的目的是验证架构是否符合业务目标和战略;验证架构方法的成本,包括考虑过哪些替代方案以及批准或拒绝了哪些替代方案;并验证假设、风险、问题和依赖关系。

Executive review. This is typically done by technology VPs or the CTO of the local business unit. The purpose of this review is to validate the architecture for purposes of alignment with business goals and strategy; to validate the cost of the architecture approach, including what alternatives were considered and either approved or rejected; and to validate the assumptions, risks, issues, and dependencies.

图像 企业审核。对于大型项目,这通常由企业架构团队成员完成;对于小型项目,这通常由本地架构师或副总裁完成。此审核的目的是根据现行的企业架构政策验证架构。

Enterprise review. This is typically done by a member of the enterprise architecture team for larger projects or by local architects or VPs for smaller projects. The purpose of this review is to validate the architecture against the standing enterprise architecture policies that are in force.

图像 同行评审。这通常由当地业务部门的架构人员完成。此评审的目的是验证架构是否符合项目的业务目标;验证方法是否符合当地业务部门的长期战略架构目标;验证与所采用方法相关的假设、风险、问题和依赖关系。

Peer review. This is typically done by members of the architecture staff from the local business unit. The purpose of this review is to validate the architecture against the business objectives of the project; to validate the approach against the standing strategic architecture goals of the local business unit; and to validate the assumptions, risks, issues, and dependencies associated with the approach being taken.

图像 开发评审。这通常由开发项目解决方案的开发团队完成。此评审的目的是让项目团队熟悉项目所需的架构方向。

Development review. This is typically done by the development team that will develop the solution for the project. The purpose of this review is to familiarize the project team with the desired architectural direction of the project.

图像 硬件审查。这通常由与数据中心运营相关的技术人员执行。审查的目的是根据数据中心运营的目标和策略验证资本请求,并根据所采用的方法和整个系统的预期性能特征验证所请求的硬件数量和类型。

Hardware review. This is typically performed by technology staff related to the data center operations. The purpose of the review is to validate the capital request against the goals and strategy of the data center operations and to validate the amount and type of hardware being requested against the approach being taken and the expected performance characteristics of the system as a whole.

对于任何项目,所有这些审查都不太可能发生。唯一的例外是当项目非常大并且可能有多名架构师被指派时。审查的目的是与所有关键利益相关者沟通,并确保所采用的方法没有大的差距。

For any given project, all of these reviews are not likely to occur. The only exception is when the project is extremely large and likely has multiple architects assigned to it. The goals of the reviews are communicating to all of the key stakeholders and ensuring that there are no large gaps in the approach being taken.

不同的审阅者对重要性有不同的标准;了解他们感兴趣的内容并解决他们的顾虑。您需要让他们相信您已经考虑了所有事项,包括所有合理的替代方案。

Different reviewers will have different criteria of importance; learn what they are interested in and address their concerns. You will need to convince them that you have considered everything, including all reasonable alternatives.

关键是要确保进行多次评审,并且这些评审以项目为基础。每次评审都充当过滤器,有助于提高架构的整体质量。

The key is to ensure that multiple reviews occur and that they are project based. Each review acts as a filter and helps improve the overall quality of the architecture.

设计

Design

设计评审旨在验证开发团队所采用的设计方法是否与系统的架构方法一致,以及是否与企业主当前的想法一致。企业调整其需求以更好地符合其当前对市场需求的理解,这种情况并不罕见。

Design reviews are intended to validate that the design approaches being taken by the development team are in alignment with the architectural approach for the system and that they align with the current thinking of the business owners. It is not uncommon that the business will adjust its requirements to better align with its current understanding of what the marketplace is looking for.

设计评审可以在项目的任何阶段进行。预先进行一次大型设计和相关设计评审确实没有意义。设计评审应在设计相关编码发生时进行。设计评审的形式可能因组织的沟通需求而异。它可以简单到与相关团队成员、主题专家和业务合作伙伴进行白板会议。

Design reviews can occur at any point in the project. Having one big design and associated design review up front really doesn’t make sense. Designs should be reviewed closest to the moment the coding associated with the design will occur. The formality around the design review can vary based on the communication needs of the organization. It could be as simple as a whiteboarding session with the relevant team members, subject matter experts, and the business partner.

目的是要与主题相关,不要用一些花哨的东西或未来某个时候可能需要的东西来扰乱思路。评审需要关注目前已知的内容以及未来几次迭代中需要实施的内容。

The intent is to be relevant and not clutter the thinking with gold plating or things that may be needed sometime in the future. The review needs to be focused on what is known today and what needs to be implemented within the next few iterations.

设计评审可能包括某种形式的接口设计 (API)、类结构以及相关的序列或状态机图。它可能会显示如何处理架构问题,例如身份验证、授权、灾难恢复和其他关键领域。

The design review will likely include some form of interface design (API), class structure, and related sequence or state machine diagrams. It will likely show how the architectural concerns such as authentication, authorization, disaster recovery, and other key areas will be handled.

确切的原则、指导方针和标准因组织而异,以满足每个组织的特定业务需求。网上和其他书籍中有很多关于此方面的优秀资料来源(请参阅本章末尾的参考资料)。

The exact principles, guidelines, and standards will vary by organization to match the particular business needs of each. There are many sources of great material for this online and in other books (see the references at the end of the chapter).

构建、编码、集成、部署、测试和监控

Building, Coding, Integrating, Deploying, Testing, and Monitoring

监督项目的构建系统、编码、集成、部署系统、测试和监控系统实际上是架构师的主要职责之一。

Oversight of the build systems, coding, integration, deployment systems, testing, and monitoring systems for a project is really one of the chief responsibilities of an architect.

为开发团队制定和制定指导、原则和经验法则有助于他们更加独立,并更自然地与您的思维方式保持一致。例如,“优先考虑配置而不是编码”可以让开发团队了解您希望采取的方向来处理常见的系统更改。

Creating and laying out guidance, principles, and rules of thumb for the development teams can help enable them to be more independent and align them more naturally to your style of thinking. For example, “Prefer configuration over coding” gives the development team an indication of the direction you want to take to handle common system changes.

我相信这是推动治理的最佳方式;僵化的规则通常不会给你带来好处,而且大多数规则都是用来被打破的。

I believe this is the best way to drive governance; hard, fixed rules generally do not serve you well, and most rules were meant to be broken.

有关更多详细信息,请参阅第 5 章管理”。

For more detailed information, see Chapter 5, “Management.”

治理与敏捷的健康张力

Governance and a Healthy Tension with Agile

治理的目的是帮助识别和减轻风险,帮助降低成本,并帮助提升业务杠杆。它不是管理系统的功能;这是业务的责任,业务应该能够要求它愿意支付的任何费用。

The purpose of governance is to help identify and mitigate risks, help reduce costs, and help promote leverage for the business. It is not about managing the functionality of the system; this is the responsibility of the business, and the business should be able to ask for whatever it is willing to pay for.

表面上看,治理和敏捷开发似乎相互矛盾。当你更详细地了解敏捷时,你会发现它还涉及降低风险、降低成本和提升业务价值。敏捷通常以自由和无拘无束而闻名,但实际上它试图及时从业务中获取真正的需求并满足现有的实际业务需求。

Governance and agile development on the surface seem to be at odds with one another. When you look at agile in more detail, you notice that it is also about mitigating risks, reducing costs, and promoting value for the business. Agile often has a reputation for being footloose and fancy-free when in reality it is trying to elicit the real requirements from the business just in time and to meet the real business demands that exist.

治理面临的主要挑战是为参与者提供相关性信息,尽量减少有效沟通所需的文档量,并创建符合当前业务需求的实时标准。如果所做的工作与参与者无关,那么投入到治理中的真诚努力充其量也只是拙劣的,并会形成一种不鼓励开放沟通的环境。

The key challenges for governance are to provide relevance to those who are involved, to minimize the amount of documentation required for effective communication, and to create living standards that match the current business needs. If the work being done is not relevant to those involved, the amount of sincere effort put into governance will be shoddy at best and promote an environment where open communication is not encouraged.

治理的关键在于在创新与确保建立质量体系的需求之间取得适当的平衡(见图8.4)。目标应该是实现业务的可持续性。注意:正确实施的治理不会阻碍创新。

The key for governance is to strike the right balance between innovation and the need to ensure that quality systems are being produced (see Figure 8.4). The goal should be to enable the sustainability of the business. Note: properly implemented governance does not inhibit innovation.

图像

图 8.4治理的目标是在不引入不当流程的情况下增加解决方案对企业的价值。

Figure 8.4 The goal of governance is to increase the value of solutions for the business without introducing undue process.

概括

Summary

治理之路始于

The road to governance begins with

图像获得管理层的支持和赞助来开展治理活动

Getting management support and sponsorship to do governance activities

图像理解并接受治理和基本原则

Understanding and embracing the governance and the underlying principles

图像使用治理作为一种机制来帮助指导架构及其相关系统

Using governance as a mechanism to help guide both the architecture and its associated systems

图像专注于为企业创造价值,而不是不正当的流程

Focusing on creating value for the business, not undue process

治理本身并不一定能让我感到兴奋,但看到治理良好的项目以及对业务的积极成果,表明治理是一项可以带来巨大回报的努力。我也看到治理更加被动,与手头的项目无关。当这种情况发生时,治理会浪费宝贵的时间。

Governance in and of itself doesn’t necessarily excite me, but seeing the outcomes of projects that had good governance and the positive outcomes for the business shows that it is an endeavor that can pay great dividends. I have also seen governance be more passive and not be relevant to the projects at hand. When this occurs, governance wastes valuable time.

关键是找到适当的治理平衡,帮助降低风险,帮助降低成本,并帮助提升业务杠杆率。

The key is to find the right balance of governance and help mitigate risks, help reduce costs, and help promote leverage for the business.

参考

References

Ambler, Scott W. 和 Mark Lines。2012 年。《规范的敏捷交付:企业敏捷软件交付实践者指南》。IBM 出版社。

Ambler, Scott W., and Mark Lines. 2012. Disciplined Agile Delivery: A Practitioner’s Guide to Agile Software Delivery in the Enterprise. IBM Press.

Hiles, Andrew。2010 年。《业务连续性管理权威手册》第三版。Wiley。

Hiles, Andrew. 2010. The Definitive Handbook of Business Continuity Management, Third Edition. Wiley.

Humble, Jez。2010。持续交付:通过构建、测试和部署自动化实现可靠的软件发布。Addison-Wesley。

Humble, Jez. 2010. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.

McGraw, Gary。2006。软件安全:构建安全。Addison-Wesley。

McGraw, Gary. 2006. Software Security: Building Security In. Addison-Wesley.

Nygard, Michael T. 2007. Release It!:设计和部署可用于生产的软件。Pragmatic Bookshelf。

Nygard, Michael T. 2007. Release It!: Design and Deploy Production-Ready Software. Pragmatic Bookshelf.

Pfleeger, Charles P. 和 Shari Lawrence Pfleeger。2006。《计算安全性》,第四版。Prentice Hall。

Pfleeger, Charles P., and Shari Lawrence Pfleeger. 2006. Security in Computing, Fourth Edition. Prentice Hall.

Ries, Eric。2011 年。《精益创业:当今企业家如何利用持续创新打造极其成功的企业》。Crown Business。

Ries, Eric. 2011. The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Business.

Taylor, Laura P. 2013.FISMA合规手册,第二版。Syngress。

Taylor, Laura P. 2013. FISMA Compliance Handbook, Second Edition. Syngress.

Todorov, Dobromir。2007 年。《用户识别和身份验证机制:身份管理基础》。Auerbach 出版物。

Todorov, Dobromir. 2007. Mechanics of User Identification and Authentication: Fundamentals of Identity Management. Auerbach Publications.

Whitman, Michael E.、Herbert J. Mattord 和 Andrew Green。2013 年。事件响应和灾难恢复原则。Cengage Learning。

Whitman, Michael E., Herbert J. Mattord, and Andrew Green. 2013. Principles of Incident Response and Disaster Recovery. Cengage Learning.

第九章 诀窍

Chapter 9. Know-how

“未来属于好奇的人。”

“The future belongs to the curious.”

-未知

—Unknown

“培养学习热情。如果你这样做,你将永远不会停止成长。”

“Develop a passion for learning. If you do, you will never cease to grow.”

—安东尼·J·德安杰洛

—Anthony J. D’Angelo

“你不能通过遵守规则来学习走路。你只能通过实践和跌倒来学习。”

“You don’t learn to walk by following rules. You learn by doing, and by falling over.”

—理查德·布兰森

—Richard Branson

“我总是做我不能做的事,以便我可以学习如何去做。”

“I am always doing that which I cannot do, in order that I may learn how to do it.”

-巴勃罗毕加索

—Pablo Picasso

“技术技能是对复杂性的掌握,而创造力是对简单的掌握。”

“Technical skill is mastery of complexity, while creativity is mastery of simplicity.”

—埃里克·克里斯托弗·泽曼

—Erik Christopher Zeeman

您是否曾看过演示、读过博客、参加过会议并想过:“哇——这看起来和听起来都很棒。我们需要它!”?

Have you ever seen a demo, read a blog, been at a conference and thought, “Wow—that looks and sounds amazing. We need that!”?

这通常是对架构演进需求的初步了解之一。了解其他人在做什么可以启发架构师和其他开发人员了解业务可能存在哪些可能性。要弄清楚这个新领域是否适用于您正在做的事情,最好的方法之一就是努力将其纳入您的专业知识体系。

This is usually one of the first glimpses into the evolutionary needs of an architecture. Seeing what others are doing can serve as an inspiration to architects and other development staff about what the possibilities for the business may be. One of the best ways to figure out if this new area will apply to what you are doing is to work on incorporating it into your body of know-how.

本章揭示了软件架构师所需的基本技能之一:开发和维护您的专业技能。

This chapter unveils one of the essential skills needed by a software architect: developing and maintaining your body of know-how.

专业知识定义

Know-how Defined

专业知识的概念实际上是对如何做事的实际理解,以及对何时何地应用这些知识的细致了解。就软件架构而言,重点关注技术和业务领域。

The concept of know-how is literally having the practical understanding of how to do things and the nuanced knowledge of when and where that knowledge should be applied. For the purposes of software architecture, there is a strong focus on technology and the business domain.

对于架构师来说,他们一生都需要与自己所从事的技术和领域保持同步和联系。这种需求导致了以下方面的紧张关系(如图9.1所示):

For architects, there is a career-long need to stay current and relevant within the technologies and the domains in which they work. This need drives a tension among the following (shown in Figure 9.1):

图像 相关性(你所知道的知识与所需知识的直接适用性)

Relevance (the direct applicability of what you know compared to what is needed)

图像 时效性(你的知识与行业当前知识潮流之间的最小距离)

Currency (the minimal distance between your knowledge and the current wave of knowledge in your industry)

图像 卓越(工艺水平、精湛技艺和对某一领域的细致了解)

Excellence (the level of craftsmanship, mastery, and nuanced knowledge of an area)

图像

图 9.1专业知识的关键在于平衡相关性、时效性和卓越性之间的竞争力量。

Figure 9.1 The key to know-how is balancing the competing forces of relevance, currency, and excellence.

发展专业知识

Developing Know-how

作为一名架构师,掌握最新技术可以帮助您指导软件项目,保持您的技术专长,并为企业提供保持竞争力的机会。

As an architect, staying current and relevant on the latest technologies can help you to guide software projects, maintain your technical expertise, and give the business opportunities to stay competitive.

有多种方法可以增加您的建筑知识,其中一些方法如图9.2所示。

There are a variety of ways to increase your architectural know-how, some of which are shown in Figure 9.2.

图像

图 9.2专业知识开发——这对于您作为建筑师保持相关性至关重要。

Figure 9.2 Know-how development—it’s critical to your staying relevant as an architect.

发展专业知识相关性

Developing Know-how Relevance

当你考虑如何发展和保持你的专业知识时,帮助确定将时间集中在哪里的最佳方法之一是考虑如何您感兴趣的领域与您目前正在做或希望很快做的工作相关。

As you consider how to develop and maintain your know-how, one of the best ways to help determine where to focus your time is to consider how relevant the area that you are interested in is to the work you are currently doing or hope to be doing soon.

将专业知识应用于您的领域

对于建筑师来说,了解当前可用的技术是什么以及它们能够做什么对于决定项目的方向至关重要。

For architects, knowing what the currently available technologies are and what they are capable of doing is critical for making decisions on directions to head for projects.

以下是关于技术的一些关键问题:

Here are some key questions to ask about a technology:

图像该技术用于哪些类型的应用?您所在行业的其他领域是否也在使用它?

What types of applications is the technology being used for? Are other areas within your industry using it?

图像它解决了哪些问题?该技术是否符合您的产品开发需求?您将使用多少百分比的功能?如果百分比相对较低,您需要思考额外的开销是否值得,尤其是如果您为该技术支付了大量费用。

What problems does it solve? Does the technology align with your product development needs? What percentage of the capabilities will you use? If it is a relatively low percentage, you need to question if the extra overhead is worth it, especially if you are paying any significant amount for the technology.

图像它会带来什么问题?您需要了解这项技术将对您的组织产生的运营影响。

What problems does it introduce? You need to understand the operational impacts this technology will have on your organization.

图像人们在实施它的时候遇到了哪些困难?

Where are people struggling when they implement it?

图像是否有良好的在线支持?是否有活跃的社区?您是否能在 Stack Overflow 上找到有关它的信息?当出现实际问题时,您需要拥有一个强大的支持社区,并且您绝对需要快速解决这些问题。

Is there good online support? Does it have an active community? Can you find information about it in Stack Overflow? You need to have a strong support community when real issues arise and you absolutely, positively need to resolve them fast.

图像这项技术是否正在积极发展?它是一时的热潮,还是人们对此的兴趣正在日益增长?

Is there active development around the technology? Is it a fad that has passed, or is there a growing level of interest in it?

图像有哪些替代方案?哪个选项最适合需要解决的问题?

What are the alternatives? Which option best fits the problem that needs to be solved?

图像它有路线图吗?它的发展方向是什么?这与你预期的业务发展方向一致吗?

Does it have a roadmap? Where is it going and does that align with where you anticipate your business going?

图像有关于它的书吗?

Are there books written about it?

图像这是哪个版本?是否已经超越 1.0 版本?如果出现问题,使用 1.0 版本之前的技术可能会非常棘手。

What revision is it? Has is gone beyond a 1.0 release? Using a technology before a 1.0 release can be very tricky when things go wrong.

图像相关成本是多少?是一次性收费吗?是按用户收费、按计算单位收费(服务器、CPU 等)还是按使用单位收费?在开始向企业“推销”某项技术之前,您需要了解相关成本。这些成本可能会吞噬您的全部利润。

What are the costs associated with it? Is it a one-time charge? Is it a charge per user, per some computation unit (server, CPU, etc.), per some usage unit? You need to know the costs associated with a technology before you begin “selling” it to your business. The costs could eat up all of your profit.

图像许可的影响是什么?它们会影响你的知识产权、产品收费能力、他人转售你的产品的能力吗?你需要了解许可的影响您的业​​务。如果它们影响到您创造收入的能力,您需要了解这项技术如何限制您。

What are the licensing implications? Do they affect your intellectual property, the ability to charge for your product, the ability for others to resell your product? You need to understand the licensing impacts on your business. If they impact your ability to generate revenue, you need to understand how this technology limits you.

挑战在于平衡你对新技术的热情和热情与已经存在的环境。例如,你是否试图将大数据解决方案应用于单个服务器可以处理的事情?这并不能很好地利用你研究和引入新技术的有限时间。该技术需要适合当前的问题。

The challenge is to balance your passion and enthusiasm for a new technology with the environment that already exists. For instance, are you trying to apply a big data solution to something that a single server can handle? This is not a great use of the limited time you have to investigate and bring in new technologies. The technology needs to be appropriate for the problem at hand.

开发模型

您能否针对新业务挑战建模,并考虑如何在产品组合中使用它?这可能是一个领域模型、一个物理硬件图、一个逻辑架构图 — 基本上是一些视觉表示。理想情况下,这些图表中的每一个都可以放在一张打印纸上。

Can you model the new business challenge with a view toward how you would use it in your product portfolio? This could be a domain model, a physical hardware diagram, a logical architecture diagram—basically some visual representation. Ideally, each of these diagrams will fit on a single printed page.

关键是要提供足够的信息,以便于理解该领域,而无需所有的细节。

The key is to give enough information to allow for an understanding of the domain without all of the detail.

确定相关性时处理一定程度的歧义

建筑师根本不可能深入研究他们面临的每个问题的每个细节。这主要是由于时间限制,迫使他们做出假设,并发现风险和问题,但不一定能解决。在这种环境下,需要做出有关相关性的关键决策,这些决策将对项目产生重大影响。学习如何处理模糊性是建筑师每天完成工作的必要条件。

It is simply not possible for architects to dive into every last detail of every problem that is on their plate. This is primarily due to time constraints, which force assumptions to be made, and risks and issues to be identified but not necessarily resolved. In this environment, key decisions about relevance need to be made, ones that will have significant project impact. Learning how to deal with ambiguity is a necessity for architects to get their work done on a daily basis.

对我来说,知道至少有一种合理解决问题的方法可以大大缓解我对问题的焦虑。我现在不必知道确切的解决方案;我只需要知道这个问题可以解决。这促使我确定解决方案与我的产品组合和手头的具体问题的相关性。

For me, getting to the point where I know of at least one way that a problem can be reasonably solved goes a long way toward easing my anxiety about the problem. I don’t have to know the exact solution now; I just need to know that the problem can be solved. This drives toward the need for determining a solution’s relevance to my product portfolio and specific problems at hand.

审查和销售专业知识

架构师经常参与销售与技术相关的许多不同方面。他们需要能够向管理层和开发人员推销特定解决方案应该采取的方向以及应该避免哪些方向。他们需要能够提出真实的了解技术和业务的发展方向,并相信他们所说的是可以实现的。销售解决方案意味着通过能够

Architects are constantly involved with selling many different aspects related to technology. They need to be able to sell management and development staff on the direction that a particular solution should take and what directions should be avoided. They need to be able to present an authentic view of where technology and the business are going and have confidence that what they are saying is achievable. Selling a solution means making it relevant by being able to

图像编织一个关于解决方案的连贯故事(你所说的所有内容都需要结合在一起——尽量减少不一致之处)

Weave a coherent story about the solution (all of the things you are saying need to hold together—minimize any inconsistencies)

图像清晰表达所选方向的优势

Clearly express the advantages of the direction being chosen

图像明确表达关注的领域

Clearly express areas of concern

图像重复讲述同一个故事,但根据受众调整细节

Tell the same story repeatedly, but adjusting the details to the audience being addressed

图像预测不同领域的兴趣(他们会对该技术的哪些方面感兴趣)

Anticipate different areas’ interests (what will engage them about the technology)

图像预测反驳

Anticipate counterpoints

图像通过展示你的热情、风险管理能力以及选择适合当前问题的解决方案的能力,让管理层对你的工作充满信心

Make management feel confident in your work by showing your passion, your management of risk, and your ability to pick great solutions that are appropriate to the problem at hand

发展技术货币

Developing Know-how Currency

在瞬息万变的技术世界中,架构师需要确保他们的专业知识在他们所从事的行业和领域中是最新的。如果作为一名架构师,你不保持最新,那么你很快就会被企业淘汰。

In the fast and ever-changing world of technology, architects need to ensure that their know-how is current within the industry and domain in which they operate. If as an architect you don’t maintain currency, you may quickly become irrelevant to the business.

拥有广泛的技术知识

对于建筑师来说,拥有广泛的技术知识对于决定如何指导项目至关重要。有多种方法可以实现这一点:

For architects, having a broad-based knowlege of technology is essential for making decisions on where to guide projects. There are a variety of ways to accomplish this:

图像参加会议可以让你了解其他公司在做什么、供应商在推广什么以及行业内的发展趋势。你不一定能了解所有细节,但可以很好地了解要关注的领域。你还可以了解哪些技术可能开始从前沿技术转变为前沿技术。

Attending a conference can give you a sense of what other companies are doing, what vendors are promoting, and what is trending within the industry. You won’t necessarily find out all of the details, but you will get a good sense of areas to focus on. You will also get a sense of what technologies may be starting to transition from bleeding edge to leading edge.

图像参加本地用户组;本地用户组可以让你获得行业内的真实经验。这些技术人员对技术充满热情。他们愿意分享他们正在研究的细节、他们在技术上遇到的困难以及他们取得的成功。

Attend a local user group; local user groups can give you access to real experience within the industry. These are the technologists who are truly passionate about the technology. They are willing to share the details of what they are working on, where they are struggling with the technology, and where they are having successes.

图像阅读博客和杂志,或观看在线培训视频(通过 Pluralsight 等网站),这些视频属于您感兴趣的一般领域你已经掌握了。他们可以给你一小段代码,让你能够快速制作原型,并让你试用这项技术。他们还可以让你意识到这项技术的一些缺陷。

Read blogs and magazines, or watch online training videos (through sites like Pluralsight) that are in the general areas of interest that you have. They can give you a small snippet of code to enable you to do some quick prototyping and allow you to kick the tires of the technology. They can also make you aware of some of the pitfalls of the technology.

图像与您所在地区和社区的其他技术人员建立联系。技术人员天生喜欢谈论技术。建立一个由热爱技术的个人组成的广泛网络将使您能够获得大量信息。承包商也是您所在地区当前情况的重要信息来源。他们被聘用在其他公司面临人员配备挑战的领域。他们四处走动并观察其他公司在做什么,这一事实使他们对哪些行得通和哪些行不通(至少目前行不通)有了丰富的了解。在 Twitter 上关注主题专家。

Network with other technologists in your area and your community. Technologists naturally love to talk about technology. Establishing a broad network of individuals who are passionate about technology will give you access to an amazing wealth of information. Contractors are also a great source of information about what is currently happening in your area. They are hired to work on areas where other companies are having challenges staffing. The fact that they move around and see what other companies are doing gives them a tremendous level of knowledge about what works and does not work (at least not currently). Follow topical experts on Twitter.

快速学习技术

架构师通常只有非常有限的时间来深入研究某个特定领域。挑战在于,他们需要时间来形成一种认识,即一种技术最适合应用于何处(它最适合什么用途,以及它不适合什么用途)。

Architects usually have very limited amounts of time to jump into a particular area in depth. The challenge is that it takes time to formulate a sense of where a technology is best applied (what purpose it serves best and where it doesn’t fit).

制作小型原型或让您团队中的某个人针对特定技术制作一些原型,可以帮助您开始针对您尝试解决的一组问题确定该工具的有效性。

Doing small prototypes or having someone on one of your teams do some prototyping with respect to a particular technology can help you begin to establish the validity of the tool for the set of problems you are attempting to solve.

挑战在于,无论新工具多么成熟,在首次将其引入新领域时,都可能会出现您未意识到的操作问题。

The challenge is that new tools, no matter how seasoned they may be, are likely to have operational issues that you are unaware of when first introducing them into a new area.

在项目早期阶段,这类挑战更容易应对。之后,一旦项目节奏确定,交付时间框架的预期变为现实,将新技术引入项目通常是一个冒险的提议。从失误中恢复的时间非常有限。

These types of challenges are easier to manage earlier on in the life of a project. Later, once the cadence of a project is established and the expectations about delivery time frames are real, introducing new technologies into the project is usually a risky proposition. The amount of time you have to recover from a misstep is very limited.

寻找利用与你合作的团队来学习新技术的方法。你不可能成为所有领域的专家。了解要学习多少内容至关重要,这样你才能管理好自己的总体时间投入,让团队研究有趣的新技术将提高他们的参与度。花时间将程序与开发人员配对。

Look for ways to learn the new technologies by leveraging the teams you work with. You cannot be an expert in everything. Knowing how much to learn is critical so you can manage your overall time commitments, and allowing the teams to work on fun new technologies will raise their engagement level. Take the time to pair program with developers.

学习新的编程语言、框架和方法

跟上不断变化的技术世界的最佳方法之一是将新技术融入解决方案并进行概念验证 (POC)。这些可能永远不会在活跃的开发项目中使用,但这些解决方案和 POC 会让你感受到

One of the best ways to keep up on the ever-changing world of technology is to spike solutions with new technologies and do proofs of concept (POCs). These may never be used in active development projects, but the spikes and POCs will give you a sense of

图像当前技术版本的特点和发展方向

The features and direction where the current version of a technology is heading

图像技术试图解决的问题及其解决方式

The problems that technologies are attempting to address and how they are attempting to address them

图像与技术相关的粗糙边缘,让您了解该技术是否已准备好迎接黄金时段,还是本质上更具实验性。

The rough edges related to a technology, giving you a sense of whether the technology is ready for prime time or is more experimental in nature

图像任何围绕新技术的新技术语言(这将使你在与他人交谈或在线阅读或硬拷贝时意识到与该技术相关的微妙参考)

Any new technical language surrounding a new technology (this will allow you to be aware of subtle references related to the technology when talking to others or when reading online or a hard copy)

图像技术的操作性质

The operational nature of a technology

参加会议

参加与你的主要工作领域相关的会议是了解

Attending a conference related to your primary area of work can be an excellent way to get a sense of

图像行业发展方向

Where the industry is heading

图像正在出现哪些趋势

What trends are emerging

图像其他公司在做什么,他们正在采用或最近采用了哪些技术,以及他们在尝试将技术引入内部时有过哪些(积极或消极)的经验

What other companies are doing, what technologies they are adopting or have recently adopted, and what kinds of experiences (positive or negative) they have had in trying to bring the technology in-house

图像什么正在流行,什么正在失宠,什么正在吸引其他开发者的注意,以及钱在哪里

What is coming into favor, what is falling out of favor, what is capturing the attention of other developers, and where the money is

如果旅行预算紧张,你通常可以参加当地的会议。兴趣小组和当地赞助商也开始举办小型免费会议,在会议上你可以看到当地人才就有趣的话题发表演讲。会议的形式可以是聚会或非会议。另一个选择是考虑虚拟会议。一些会议将精选的会议视频放在网上。

If travel budgets are tight, you can often find local conferences to attend. There has also been a trend toward smaller free conferences hosted by interest groups with a set of local sponsors where you can see local talent give presentations on interesting topics. This may take the form of a meet-up or an un-conference. Another option is to consider a virtual conference. Some conferences put selected session videos online.

参加会议将使您有机会建立联系、了解新技术、发现您所在地区正在开发的有趣项目并增加您当前的专业知识。

Attending conferences will give you a chance to network, learn about new technologies, discover interesting projects that are in development in your geographic area, and add to your current know-how.

参加/举办黑客马拉松

如果您的企业有特定问题需要解决,那么举办黑客马拉松是产生想法和潜在解决方案的一个好方法。这可以让企业很好地了解特定问题的一些技术挑战。它还可以提供一些关于真正问题是什么的新见解以及解决问题的各种方法。这种黑客马拉松通常更多地面向内部而非外部。

If your business has a particular problem to solve, one great way to generate ideas and potential solutions is to host a hack-a-thon. This can give the business a great sense of what some of the technical challenges of a particular problem are. It can also provide some new insights into what the real problem is and a variety of ways to consider for solving it. This type of hack-a-thon is usually more internally than externally facing.

如果你正在寻找一种令人兴奋的方式来展示或磨练你的技术技能,参加黑客马拉松可以让你有机会审视一个你以前可能没有考虑过的问题,并迫使你以不同于过去的方式思考。它还可能为你带来你以前不知道的新就业机会。

If you are looking for an exciting way to demonstrate or hone your technical skills, attending a hack-a-thon can give you a chance to look at a problem you may not have considered before and force you to think differently from the way you have in the past. It may also lead to new employment opportunities that you were previously unaware of.

黑客马拉松需要解决的一个问题是,谁拥有所生成解决方案的知识产权。这需要在活动开始前明确。

One area that needs to be addressed with a hack-a-thon is who owns the intellectual property of the solutions that are generated. This needs to be clear before the event occurs.

与黑客马拉松类似的想法是在更广泛的开放式创新框架下开展的创新竞赛。

A similar idea to a hack-a-thon is an innovation contest under the broader umbrella of open innovation.

利用在线资源

当今世界,学习新技术的方法多种多样。通常有教程、免费在线课程和无数示例代码等着您深入研究和自我训练。

In today’s world, there are many different ways to learn new technologies. There are often tutorials, free online courses, and endless sample code just waiting for you to dive in and train yourself.

花时间通过在线研究来训练自己是一种很好的方式,可以了解网络上有哪些内容,并找到您感兴趣领域的顶级网站。一种更有效的方法是使用 Google Alerts 之类的工具,它会为您带来相关信息,而您无需搜索。

Taking the time to train yourself through online research is an excellent way to learn what is available on the web and to find the top sites for the areas you are interested in. One way to make this more efficient is to use tools like Google Alerts that will bring relevant information to you instead of you needing to search for it.

发展卓越技术

Developing Know-how Excellence

架构师需要对他们正在使用或即将使用的技术有深入的了解。他们需要了解与该技术相关的许多细微差别,以及这些细微差别对他们正在开发的解决方案的影响。

Architects need to gain a deep level of knowledge with respect to the technologies that they are using or about to use. They need an understanding of the many nuances related to the technology and what the impacts of those nuances are on the solutions they are developing.

技术知识也能增加你作为建筑师的可信度。你不想成为 PowerPoint 建筑师。

Technical know-how also adds to your credibility as an architect. You want to avoid being a PowerPoint architect.

开发概念证明

对于架构师来说,保持软件开发技能的最佳方法之一是在需要做出技术决策时进行 POC。POC 有很多好处:

One of the best ways for architects to maintain their software development skills is to do POCs when technology decisions need to be made. POCs have many benefits:

图像架构师可以保持并提高他们的编码技能。这使他们能够记住一些“简单”任务需要多长时间才能开发完成。

Architects can maintain and enhance their coding skills. This enables them to remember just how long some “easy” tasks can take to develop.

图像他们可以亲身体验新技术或开发方法带来的一些挑战和好处。

They can experience firsthand some of the challenges and some of the benefits of a new technology or development approach.

图像当建筑师拥有第一手知识并能够亲自演示工作时,他们能够更好地与企业进行沟通。

They enable better communication with the business when the architect has firsthand knowledge and is able to personally demo the work.

图像它们减轻了主要开发人员在前瞻性研究与需要投入生产的紧急修复或即将到来的最后期限之间取得平衡的负担。

They relieve the primary development staff from balancing forward-looking research with the immediacy of the hot fix that needs to get to production or the looming deadline that is quickly approaching.

为了保持我的开发技能并跟上最新技术,我尝试每个月专注于一个领域,目标是在该领域制作一个原型。这样我每年可以研究 12 件事。我尝试平均每天花一个小时专注于此,具体时间可能多或少取决于我的其他承诺。

To help maintain my development skills and keep current with the latest technologies, I try to focus on a single area each month with the goal of producing a prototype in that area. This lets me investigate 12 things per year. I try to spend on average an hour a day focusing on this, perhaps more or less depending on my other commitments.

我的关注点会有所不同,这取决于我感兴趣的内容,或者我是否正在为即将到来的项目做准备,在这个项目中,我可能不熟悉我们想要采用的技术堆栈的某些方面。这让我有机会在不创建依赖关系的情况下进行编码,因为团队正在等待我完成代码。我将专注于大数据、移动、语义搜索、用户界面、分析等领域,或任何看起来重要的领域。

My focus varies depending on what I am interested in or if I am trying to prepare for an upcoming project where I may not be familiar with some aspect of the technology stack that we would like to adopt. It gives me a chance to do coding without creating dependencies within a project on which the team is waiting for me to get code completed. I will focus on areas such as big data, mobile, semantic search, user interface, analytics, or whatever area seems important to get up to speed on.

创建或加入本地用户组

如果您对某个特定领域非常热衷,请寻找一个定期开会的本地用户组,​​讨论与您感兴趣的领域相关的广泛主题。

If you are extremely passionate about a particular area, find a local user group that meets on regular basis where a wide range of topics with respect to your area of interest are discussed.

如果当地没有用户组,您可以创建一个,只要您能吸引到一组有类似兴趣的人员。这可能是另一个用户组的分支,也可能是从当地会议发起的。

If a local user group doesn’t exist, you may be able to create one if you can attract a set of similarly interested parties. This may be an offshoot of another user group or something that was kicked off from a local conference.

成功的用户组的关键是拥有热情的成员和足够的时间来支持和管理组织,以保持其新鲜、有趣、并深入地为参与者提供指导。确保每个参与者都感到受欢迎。本地用户组是当地爱好者聚集在一起并分享如何解决当前问题的想法的好方法。通常会令人惊讶的是,有多少人面临着类似的问题或有解决方案。

The key to a successful user group is to have passionate members and enough time to support and manage the organization to keep it fresh, interesting, and in depth for those involved. Make sure that everyone who attends feels welcome. The local user group can be a great way for local enthusiasts to get together and share ideas about how solve their current problems. It is usually surprising just how many others are facing similar problems or have solutions to the problems you are encountering.

在当地会议上发表演讲

详细了解某个主题的一个好方法是在当地会议上发表演讲。没有什么比对公开演讲的恐惧更能促使你详细了解这个主题了。

One great way to learn a topic in more detail is to give a presentation at a local conference. There is nothing like the fear of public speaking to drive you to know the subject matter in extreme detail.

理想情况下,您可以选择与您目前正在做的工作相符且您想要进一步了解的领域主题或领域。

Ideally, you can pick a topic or area that aligns with the work you are already doing and is in an area that you want to learn more about.

公开演讲可以帮助你提高工作效率,让你在与人群打交道时更加自信,并帮助你快速思考。

Public speaking will help you become more effective at work, allow you to be more confident in dealing with crowds, and help you to think on your feet.

对于与技术相关的演示,现场演示将有助于保持观众的兴趣。关键是选择可以在相对较短的时间内展示的小型代表性示例。如果您展示了如何使用某项技术的多种替代方案,那么给出建议(优缺点)说明在特定情况下哪种替代方案是最佳的,可以帮助观众获得有价值的信息,以便在遇到类似问题时使用。

For technology-related presentations, live demos will help keep the audience’s interest. The key is to pick small representative examples that can be shown in a relatively short amount of time. If you show multiple alternatives for how to use a technology, giving recommendations (the pros and cons) for which alternative is the best in certain situations can help the audience walk away with valuable information to use in case they run into a similar problem.

万一演示过程中出现任何问题,请准备好幻灯片,展示您想要演示的同一组现场体验以及演示结果。如果其他一切都失败了,这将为您提供后备方案。

On the odd chance that everything goes south for the demos, have slides prepared that show the same set of live experiences you wanted to demo and the results of the demo. This will give you a fallback in case everything else goes up in flames.

对于大多数技术人员来说,眼见为实;如果某样东西在现场演示中很容易使用,那么实际上可能可以在实际项目中使用它。即使没有别的,现场演示几乎总能吸引观众的注意力,并有助于引出演示中的问题和观察,让所有参与者都觉得更有趣。

For most people in technology, seeing is believing; and if something is easy enough to use in a live demo, it may actually be possible to use it in a real project. If nothing else, live demos nearly always keep the audience’s attention and help draw out questions and observations for the presentation, making it more fun for everyone involved.

如果可能的话,请在演讲结束后提供编码示例。它们将为与会者提供一个很好的起点,让他们可以在会后更详细地学习该技术。

If possible, make the coding examples available after the presentation. They will give the attendees a great starting point from which to learn the technology in more detail after the conference.

在会议上发言是一次宝贵的经历。它有助于丰富你的简历,并帮助你建立新的专业联系。

Speaking at conferences is an invaluable experience. It will help build your résumé and help you make new professional connections.

教课

“教学就是双重学习。”

“To teach is to learn twice.”

—约瑟夫·乔伯特

—Joseph Joubert

即使您认为自己是某个领域的专家,上课也是学习一门学科的最佳方式之一。课堂上学生提出的问题将让您了解哪些是显而易见的,哪些是不容易理解的。这是了解特定技术细微差别并将其铭刻在脑海中的好方法。

Teaching a class is one of the best ways to learn a subject even when you think you are an expert in an area. The questions you get from class attendees will give you a perspective on what is obvious and what is not easily comprehended. It is a great way to learn the nuances of a particular technology and brand it on your mind.

该课程可以是您所在组织的内部课程,也可以是通过当地社区学院教授的,或者可以通过其他技术组织提供的。

The class could be something that is internal to your organization, it could be taught through a local community college, or it could be offered through some other technical organization.

课堂上如果有大量示例,并且参与者积极参与,讨论就会变得活跃起来。PowerPoint 非常适合引导对话,但实践才是学生学习的最佳方式。开展动手练习总是会让你发现新的技巧、错误和陷阱。

A class that includes lots of examples and where attendees actively participate will keep the discussions lively. PowerPoints are great for guiding a conversation, but doing is the best way for students to learn. Developing hands-on exercises will invariably cause you to discover new tricks, bugs, and gotchas.

如果主题足够具有挑战性或班级规模足够大,您可能需要有助手来回答问题并帮助学生克服他们在实施解决方案或他们尝试创建的解决方案变体时遇到的任何技术问题。

If the topic is challenging enough or the class is large enough, you may need to have helpers to field the questions and to help students overcome any technical issues they have with implementing the solution or variants of the solution they are attempting to create.

有时,在教室里面对面地聚在一起授课是不可能或不切实际的。通过网络研讨会或其他在线形式进行虚拟授课可能会覆盖更广泛的受众。虚拟教学的挑战在于,要确保你已经考虑过如何向全班同学展示内容并回答学生的问题,是否要将摄像头对准你(在易于观看的环境中),如何进行投票,以及如何进行测试或测验(如果需要)。

Sometimes meeting together physically in a room for teaching is not possible or practical. A class taught virtually through a webinar or other online format can potentially reach a broader audience. The challenges of virtual teaching are to make sure you have thought through how you will present to the class and handle questions from students, whether you will have a camera aimed at you (in a context that is easy to watch), how you will administer polling, and how you will give tests or quizzes (if needed).

教课是丰富简历的好方法,也是提供社区服务的机会。它通常可以让你有机会持续指导一些学生。

Teaching a class is a good way to help build your résumé and also is an opportunity to provide community service. It can often give you a chance to mentor some of the students in an ongoing manner.

写一本书

如果你真的有动力,那就试着写本书吧。写书是让你在业界出名并确立你在某一领域的专业知识的好方法。

If you are feeling really motivated, try writing a book. Writing a book is a great way to get your name out in the industry and establish your expertise in a certain area.

测试书籍创意的一种方法是参加会议进行演示。这将有助于更清晰地阐述您头脑中的想法。与会者的反馈可以表明对该主题的兴趣程度,并使您能够做出可能需要的任何调整以改进概念。会议愿意接受您的提案这一事实可以帮助您说服出版商您的书有市场。

One way to test out an idea for a book is to give a presentation at a conference. It will help formulate the ideas in your head more clearly. The feedback from attendees at the conference can indicate the interest level in the topic and enable you to make any adjustments that may be needed to improve the concept. The fact that a conference was willing to accept your proposal can help you persuade a publisher that there is a market for your book.

写书的一大挑战是选择一个具有足够长使用寿命的主题,这样当你完成这本书并经过几次修订时,这个主题仍然具有现实意义。另一个挑战是投入大量时间来完成这个项目,并按时完成。

One challenge in writing a book is to pick a topic with a long enough shelf life that by the time you have completed the book and gone through a few revisions, the topic will still be relevant. Another challenge is making a significant time commitment to complete the project, and to complete it on time.

写博客

如果写书似乎有点难以承受,那么一个不错的选择就是写博客,即使它只是你工作的公司内部的博客。这可以让你以较小的篇幅发布你的想法,并及时了解那些可能保质期相对较短的主题。它还可以让你专注于你热衷的领域,并从阅读你博客的人那里获得实时反馈。

If writing a book seems a bit overwhelming, a good alternative is writing a blog, even if it’s just internal to the company you work for. This allows you to publish your ideas in smaller segments and to stay current with topics that may have a relatively short shelf life. It also lets you focus on areas that you are passionate about and get live feedback from those who read your blog.

成为开源项目或在线社区的积极参与者

参与开源软件是接触新技术的另一种好方法。找到你感兴趣的领域,看看是否有一个活跃的开源项目专注于该领域的特定问题。如果没有,请考虑启动一个开源项目来解决你感兴趣的问题。至少,要有一个帐户并关注项目。

Participating in open-source software is another great way to expose yourself to new technology. Find an area that you are passionate about and see if there is an active open-source project that is focused on a particular problem in that space. If none exists, consider starting an open-source project to solve the problem you are interested in. At a minimum, have an account and follow projects.

参与开源也是融入社区并得到认可的好方法。开源软件的质量水平可能比普通企业可能愿意投资的软件更高。随着问题的出现和解决,帮助社区会带来成就感和满足感。

Participating in open source is also a great way to get involved in a community and be recognized for the work you do. Open-source software can have a higher level of quality than what a normal business may be interested in investing in. As issues arise and get resolved, there is a sense of accomplishment and a sense of fulfillment for helping out the community.

开源项目也可以在企业内部托管,作为促进代码和知识共享的一种手段。

Open-source projects can also be hosted internally within a business as a means of promoting code and knowledge sharing.

向开源社区贡献软件的一个好处是,软件可以获得更广泛的支持,包括新的和创新的想法。另一个优势是开源通常可以让你更一致地采取战略性方法来解决问题。

One advantage to contributing software to the open-source community is that there is broader support for the software, including new and innovative ideas. Another advantage is that open source usually allows you to more consistently take a strategic approach to solving problems.

通过在 Stack Overflow 等网站上提问和回答问题,成为在线社区的活跃成员。

Become an active member of an online community by asking and answering questions on sites like Stack Overflow.

了解如何使用仪器

了解系统内部情况的唯一真正方法是让系统提供您需要的信息。这通常需要某种形式的系统仪表。

The only real way to know what is going on within a system is to have it provide the information you need. This usually requires some form of system instrumentation.

显示仪表信息的最佳方式之一是创建仪表板(见图9.3)。仪表板既可以实时显示,也可以历史显示,显示事物的运行情况。它还可以直观地显示异常情况。

One of the best ways to display information from instrumentation is to create a dashboard (see Figure 9.3). The dashboard can give both a real-time and a historical perspective on how things are working. It also allows anomalies to be displayed visually.

图像

图 9.3仪表板

Figure 9.3 Dashboard

挑战在于,如果您对所有内容进行检测,您的系统将花费所有时间来记录信息,而永远不会真正满足其构建时的请求。

The challenge is that if you instrument everything, your system will spend all of its time logging information and never really get around to servicing the requests for which it was built.

减少此问题的方法之一是关注系统的边缘,关注输入和输出。如果您拥有基本的输入和输出,您重现问题的能力就会大大提高。

One way to minimize this problem is to focus on the edges of the system, what is going in and what is going out. If you have the basic inputs and outputs, your ability to reproduce problems is significantly higher.

重点关注系统正在执行的活动计数;这将让您了解系统在哪些地方使用频繁以及正常的日常活动趋势是什么。这些数据有助于告知何时进行系统维护最好。它还可以让您通过记录错误率和其他可能需要注意的活动来了解异常情况发生的时间。

Focus on counting activities that the system is performing; this will give you a sense of where the system is being heavily used and what the normal daily trends in activity are. This data can help inform when system maintenance is best performed. It can also give you a sense of when abnormal things are occurring by logging error rates and other activities that may require someone’s attention.

根据知识采取行动对于做出正确的决策至关重要。

Acting on the basis of knowledge is critical to making good decisions.

了解如何扩展和性能调整

在为系统编写任何一行代码之前,了解如何进行扩展非常重要。您要向外扩展吗?您要向上扩展吗?一旦您对如何进行扩展有了基本了解,您就可以开始思考如何配置系统所需的硬件和中间件,并开始定义资本解决方案的过程。

Before a system ever has a single line of code written, having a sense of how you might approach scaling is important. Are you going to scale out? Are you going to scale up? Once you have a basic idea of how you are going to approach scaling, you are in a position to start thinking about how you might provision the hardware and middleware that are needed for your system and begin the process of defining capital solutions.

一旦系统构建完成,并且您拥有适当的仪器来测量系统内部发生的事情,您就可以开始处理阻碍您获得所需性能的区域。这可以通过以下方法解决

Once the system is being built and you have the appropriate instrumentation to measure what is happening within it, you can begin dealing with the areas that are blocking you from getting the performance you are looking for. This may be solved by

图像在横向扩展解决方案中提供更多硬件

Providing more hardware in a scale-out solution

图像为在系统边缘提供服务的常见请求提供缓存解决方案

Providing a caching solution for common requests to be serviced at the edge of the system

图像提供智能锁定机制,防止阻塞

Providing intelligent locking mechanisms to prevent blocking

图像将某些功能或用户彼此隔离,以防止过度消耗资源

Isolating certain functions or users from one another to prevent overconsuming resources

图像重写算法以提高效率

Rewriting algorithms to be more efficient

图像确保所有正确的索引均可用于数据检索

Ensuring that all of the proper indexing is available for data retrieval

图像尽量减少通过系统的数据传输量

Minimizing the amount of data transfer through the system

图像将代码移动到数据所在的位置,而不是相反

Moving the code to where the data is, instead of the other way around

图像更多是事件驱动而非请求驱动

Being more event driven than request driven

图像并行化请求的各个部分

Parallelizing portions of a request

通常有很多替代途径来提高规模和性能;挑战在于既要具有成本效益,又要满足业务需求和时间表。如果可能的话,您希望在项目早期识别并处理这些架构问题,以便有效地管理它们对成本的影响。另一个关键要素是将任何不可逆转或代价高昂的决定推迟到最后(或最)负责任的时刻。

There are usually many alternative routes to improving scale and performance; the challenge is to be cost effective and still meet the business needs and timelines. If possible, you want to identify and deal with these architectural issues early in a project so their impact on cost can be managed effectively. Another key element of this is to defer any irreversible or costly decisions until the last (or most) responsible moment.

知道在不损害系统的情况下可以节省哪些钱

每个项目似乎都会在某个时候出现资金短缺的情况,并且不可避免的问题是:“我们能否采取一些不同的措施来节省资金?” 该项目一直是战略发展的典范,突然变成了战术项目。

Every project seems to run short of money at some point, and the inevitable question is asked: “Can we do some things differently to save money?” The project that has been a poster child for strategic development suddenly turns tactical.

有无数种方法可以入侵系统以实现预期目标。例如,你可以

There are an endless number of ways that a system can be hacked to achieve the desired goal. For example, you can

图像缺乏测试

Skimp on testing

图像只需添加代码而无需重构(上帝对象的乞求)

Just add in the code without refactoring (the begging of a god object)

图像只需将一些未使用的字段数据推送到数据库中即可

Just shove some data into the database in a field that is not being used

图像与即将停用的旧系统建立另一条联系

Create yet another tie to a legacy system that is scheduled to go out of commission

所有这些事情都是可以实现的,并将提供所需的功能,但您会给解决方案增加技术债务。

All these things are achievable and will deliver the functionality that is desired, but you are adding technical debt to the solution.

软件就像花园,你需要除掉杂草。如果你大多数时候没有做正确的事情,你的系统就会开始变得混乱,最终需要更换。

Software is like a garden; you need to keep the weeds out. If you don’t do the right things most of the time, your system will begin to develop entropy and eventually will need to be replaced.

如果您必须破解系统,请制定明确的计划来修复它并以独立的方式实施。这将使该区域能够重构而不会影响系统的其他区域。记录它是什么——破解。

If you have to hack the system, have a clear plan to fix it and implement it in an isolated manner. This will enable a refactoring of that area to occur without impacting other areas of the system. Document it for what it is—a hack.

深入了解与技术相关的细微差别有助于找到最佳解决方案。

Having a deep sense of the nuances related to a technology can help inform what the best solution will be.

具备项目管理的基本知识

大多数建筑师都很乐意让其他人负责项目管理。对于大多数大型项目,建筑师最了解项目的依赖关系以及完成任务所需的大致时间。建筑师也是第一批参与项目的技术人员,通常是在项目开始之前。

Project management is something that most architects are more than happy to let someone else on the project take care of. For most large projects, the architect has the best view of the project dependencies and the approximate amount of time needed to complete tasks. The architect is also one of the first technology people involved with a project, often before the project ever comes into existence.

对于建筑师来说,重要的是能够

It is important for an architect to be able to

图像为项目制定高级时间表(发布计划)(至少在项目开始时,当其他人首次加入项目时)

Lay out a high-level schedule (release plan) for a project (at least at the very beginning of a project when others are first being added to the project)

图像列出任务与其他开发领域之间的依赖关系

Lay out dependencies between tasks and other development areas

图像识别风险和关注领域

Identify risks and areas of concern

图像帮助开始填充初始积压的故事

Help to start populating an initial backlog of stories

与项目经理合作可以帮助建筑工作更顺利地进行。就项目进展和当前面临的挑战进行公开对话,并制定解决当前问题的计划,将有助于项目经理及时了解需要关注的领域以及需要与主要利益相关者沟通的领域。所有这些都有助于建立信任和透明度。

Partnering with project managers can help make the job of architecture run more smoothly. Having open conversations about where the project is and what the current challenges are and having a game plan for how to address current issues will help the project manager stay abreast of areas that need attention and areas that need to be communicated to key stakeholders. All of this works toward establishing trust and transparency.


笔记

Note

与架构师和项目管理部门建立共同阵线是与高管互动时取得成功的关键。察觉到任何分歧的高管都会本能地深入到分歧领域,并在接下来的几个月里专注于此。

Establishing a common front with architecture and project management is a key to success when interacting with executives. Executives who sense any division will instinctively dive into the area of division and focus on it for months to come.


了解软件构建过程

架构师需要熟悉软件构建流程。

Architects need to be well versed in the software construction process.

了解和理解软件构建过程的能力对于对开发团队(包括开发人员、配置管理和测试)进行适当的监督至关重要。

Your ability to know and understand the software construction process is critical to having the appropriate oversight of a development team, including developers, configuration management, and testing.

专业知识综合

Know-how Synthesis

知识综合就是把你所有的知识整合成一个连贯的整体。独立研究各个领域可能会有所帮助,但直到你花时间弄清楚这些领域是如何相互作用的并确定什么有效,什么无效,那么您就没有真正为您的业务增加价值。

Know-how synthesis is about putting all of your know-how together into a coherent whole. Working through individual areas independently can be helpful, but until you take the time to figure out how the areas interact with one another and determine what works well and what doesn’t work, you haven’t really added value to your business.

诀窍意味着深入细节,了解事物的工作原理、存在哪些依赖关系以及最佳用途。综合运用这些知识将使架构师这一角色获得成功并长久工作(见图9.4)。

Know-how means jumping into the details and learning how things work, what dependencies exist, and where things are best used. Synthesizing it will lead to success and longevity in the role of an architect (see Figure 9.4).

图像

图 9.4专业知识综合

Figure 9.4 Know-how synthesis

技术驱动架构

Know-how-Driven Architecture

由技术诀窍驱动的建筑是根据对您工作空间的主动知识来推动建筑解决方案并在日常生活中提供影响。

Know-how-driven architecture is driving architectural solutions based on active knowledge about the space you work in and providing influence on a daily basis.

你不可能了解所有的事情,但你需要大致熟悉几乎所有的事情。

You can’t possibly know everything, but you need to be broadly familiar with nearly all of it.

基于专业知识的架构最有可能获得成功(见图9.5)。

Architecture that is based on know-how has one of the best chances of being successful (see Figure 9.5).

图像

图 9.5技术驱动架构

Figure 9.5 Know-how-driven architecture

知识驱动的架构是关于平衡与你的知识相关的相关性、时效性和卓越性。最终,这是一个终生的过程通过积极参与您所在的行业、您所在的公司以及您经常参与的团队,学习、好奇心并将新细节融入您的知识库。

Know-how-driven architecture is about balancing the relevance, currency, and excellence related to your know-how. In the end, it is a lifelong process of learning, curiosity, and incorporating new details into your knowledge base through active participation with the industry you work in, the company you work in, and the teams you engage with regularly.

即使您并不了解所有您想了解的内容,您也应该有能力参与、学习并推动业务走向出色的解决方案。

Even if you don’t know everything you would like to, you should be capable of jumping in, learning, and driving the business toward great solutions.

概括

Summary

通往知识之路始于

The road to know-how begins with

图像参与能够增加你的知识的活动

Engaging in activities that increase your know-how

图像扩展你的知识基础

Expanding the basis of your knowledge

图像紧跟行业发展方向

Staying current with the directions of the industry

图像填补对你负责的领域至关重要的任何空白

Filling in any gaps that are critical to your area of responsibility

图像保持对软件的热情

Staying passionate about software

软件架构师是一项伟大的工作,需要广泛、积极的专业知识才能在决策中取得成功。最大的挑战是平衡对你时间的不断要求和保持相关性的需要。总有比你能完成的更多的事情要做。关键是

Software architecture is a great job and requires broad, active know-how to be successful in decision making. The great challenge is to balance the incessant demands on your time with the need to stay relevant. There will always be far more things to do than you can possibly get done. The keys are to

图像专注于能为企业带来高价值的事物

Focus on what will provide high value to the business

图像避免让高管不高兴的重大失误

Avoid major misses that will make executives unhappy

图像关注你自然热衷的领域

Follow the areas you are naturally passionate about

图像与专家相处并保持强大的专业网络

Surround yourself with experts and maintain a strong professional network

参考

References

Lafley, AG 和 Ram Charan。2008 年。《游戏规则改变者:如何利用创新推动收入和利润增长》。Crown Business。

Lafley, A. G., and Ram Charan. 2008. The Game-Changer: How You Can Drive Revenue and Profit Growth with Innovation. Crown Business.

McGonigal,Jane。2011 年。《现实破碎:为何游戏让我们变得更好以及游戏如何改变世界》。企鹅图书。

McGonigal, Jane. 2011. Reality Is Broken: Why Games Make Us Better and How They Can Change the World. Penguin Books.

McGrath, Rita Gunther。2013 年。《竞争优势的终结:如何让您的战略与业务同步发展》。《哈佛商业评论》出版社。

McGrath, Rita Gunther. 2013. The End of Competitive Advantage: How to Keep Your Strategy Moving as Fast as Your Business. Harvard Business Review Press.

Pink, Daniel H. 2006. 《全新思维:右脑思维者为何将主宰未来》。Riverhead Books 出版社。

Pink, Daniel H. 2006. A Whole New Mind: Why Right-Brainers Will Rule the Future. Riverhead Books.

罗宾逊,肯。2010 年。肯·罗宾逊爵士:开启学习革命! www.ted.com/talks/sir_ken_robinson_bring_on_the_revolution.html

Robinson, Ken. 2010. Sir Ken Robinson: Bring On the Learning Revolution! www.ted.com/talks/sir_ken_robinson_bring_on_the_revolution.html.

第三部分:远见卓识

Part III: Visionary Skills

“人分为三类:能看的人、被展示时能看的人、看不见的人。”

“There are three classes of people: Those who see. Those who see when they are shown. Those who do not see.”

—列奥纳多·达·芬奇

—Leonardo da Vinci

“正如我的老老师常说的,‘想得简单’——意思是将整体的各个部分简化为最简单的术语,回到最初的原则。”

“‘Think simple’ as my old master used to say—meaning reduce the whole of its parts into the simplest terms, getting back to first principles.”

—弗兰克·劳埃德·赖特

—Frank Lloyd Wright

“我不知道为什么人们要雇佣建筑师然后告诉他们该做什么。”

“I don’t know why people hire architects and then tell them what to do.”

—弗兰克·盖里

—Frank Gehry

“设计不是创造美,美来自于选择、亲和、融合和热爱。”

“Design is not making beauty, beauty emerges from selection, affinities, integration, love.”

—路易斯·康

—Louis Kahn

“我感觉自己患上了一种奇怪的疾病:谦卑。”

“I feel coming on a strange disease: humility.”

—弗兰克·劳埃德·赖特

—Frank Lloyd Wright

第三部分重点介绍建筑师的三项基本远见技能。这些章节侧重于建筑愿景的探索、规划和执行。章节组织如下:

Part III focuses on the three essential visionary skills for an architect. These chapters focus on exploration, planning, and execution of an architectural vision. The chapters are organized as follows:

图像 第 10 章技术创新”将帮助您

Chapter 10, “Technology Innovation,” will enable you to

图像培养相关趋势意识

Develop relevant trend awareness

图像将技术创新与业务相结合

Align technology innovation with the business

图像实现战略研究

Enable strategic research

图像将创新原则应用于技术

Apply innovation principles to technology

图像采取务实态度进行技术创新

Take a pragmatic approach to technology innovation

图像 第 11 章战略路线图”将帮助您

Chapter 11, “Strategic Roadmapping,” will enable you to

图像使用策略和原则制定路线图

Develop roadmaps using strategies and principles

图像了解架构师在制定路线图中的作用

Know the role of an architect in building roadmaps

图像注意与路线图相关的一些主要风险

Be aware of some of the key risks related to roadmaps

图像知道何时何地使用路线图

Know where and when to use roadmaps

图像 第 12 章创业执行”将帮助你

Chapter 12, “Entrepreneurial Execution,” will enable you to

图像具有创业精神的建筑师

Architect with an entrepreneurial spirit

图像承担经过计算的风险

Take calculated risks

图像交付成果

Deliver results

图像以建筑师的身份运用创业原则

Use entrepreneurial principles as an architect

远见技能是成为一名建筑师所需的第三层技术技能(见图PIII.1)。

Visionary skills are the third layer of technical skills needed to be an architect (see Figure PIII.1).

图像

图 PIII.1建筑师必备的技能(远见卓识)

Figure PIII.1 Essential architect skills (visionary skills)

这些富有远见的技能将使您能够探索创新、制定战略计划并以企业家精神执行与企业战略目标和愿景相一致的架构(见图PIII.2)。

The visionary skills will enable you to explore innovation, strategically plan, and entrepreneurially execute architectures that align with the strategic goals and vision of the business (see Figure PIII.2).

图像

图 PIII.2远见卓识的技能

Figure PIII.2 Visionary skills

第十章 技术创新

Chapter 10. Technology Innovation

“创新是经济繁荣的核心问题。”

“Innovation is the central issue in economic prosperity.”

—迈克尔·波特

—Michael Porter

“创新与你投入了多少研发资金无关。当苹果推出 Mac 时,IBM 在研发上投入的资金至少是苹果的 100 倍。创新与金钱无关。创新与你拥有的人才、你的领导方式以及你获得的回报有关。”

“Innovation has nothing to do with how many R & D dollars you have. When Apple came up with the Mac, IBM was spending at least 100 times more on R & D. It’s not about money. It’s about the people you have, how you’re led, and how much you get it.”

—史蒂夫·乔布斯

—Steve Jobs

“因为,你知道,韧性——如果你从淘金热的角度来思考,那么你现在会非常沮丧,因为最后一块金子会消失。但好消息是,创新没有最后一块金子。每一个新事物都会带来两个新问题和两个新机遇。”

“Because, you know, resilience—if you think of it in terms of the Gold Rush, then you’d be pretty depressed right now because the last nugget of gold would be gone. But the good thing is, with innovation, there isn’t a last nugget. Every new thing creates two new questions and two new opportunities.”

—杰夫·贝佐斯

—Jeff Bezos

“我相信创新,而获得创新的方式是资助研究并了解基本事实。”

“I believe in innovation and that the way you get innovation is you fund research and you learn the basic facts.”

-比尔盖茨

—Bill Gates

“学习与创新密不可分。成功的傲慢在于认为昨天所做的足以应付明天。”

“Learning and innovation go hand in hand. The arrogance of success is to think that what you did yesterday will be sufficient for tomorrow.”

—威廉·波拉德

—William Pollard

您是否曾在会议上听过一场非常精彩的演讲?它将您的注意力集中在您不熟悉的新领域,并引起了您的兴趣。本周晚些时候,您注意到更多会议都侧重于同一项技术或方法的不同视角。

Have you ever been at a conference and attended a really cool presentation? It focused your attention on a new area you were not familiar with, and it captured your interest. Later in the week, you noticed more sessions that were focused on different perspectives of the same technology or approach.

这种会议演讲、杂志文章或博客文章的聚集通常是新趋势出现的信号。它可能还没有引起广泛的关注,也可能还没有形成任何具体的东西,但它听起来很有趣,似乎解决了你正在处理的一个实际问题。你识别这些新趋势的能力可以为你的企业带来机遇,并让你成为组织内新技术实施的领导者。另一方面,新的机会可能会让你陷入困境,因为你所采用的技术在内部或外部都得不到更广泛的开发社区的支持或关注。

This kind of clustering of conference presentations—or magazine articles or blog posts—is usually a signal that a new trend is emerging. It may not have wide appeal yet, and it may not emerge into anything concrete, but it sounds fascinating and seems to address a real issue you are dealing with. Your ability to recognize these types of new trends can open up opportunities for your business and enable you to be a leader in the implementation of a new technology within your organization. On the other hand, the new opportunity could lead you down a rabbit hole with technology that has little support or interest from the wider development community internally or externally.

本章揭示了软件架构师所需的基本技能之一:以业务为中心的方式识别、评估和注入新的、具有颠覆性的技术的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to identify, assess, and infuse new and potentially disruptive technologies in a business-centric fashion.

技术创新定义

Technology Innovation Defined

技术创新

Technology innovation is the ability to

图像看看研究、技术和你的行业的发展方向

Look where research, technology, and your industry are heading

图像确定与您的业务战略目标和目的相符的趋势和机会

Identify trends and opportunities that are aligned with your business’s strategic goals and objectives

图像与企业和客户合作寻找解决方案

Partner with the business and customers to discover solutions

图像就组织采用新技术及其时机提出建议

Make recommendations about the adoption of new technologies into the organization and their timing

技术创新与摩尔定律理论息息相关,该定律预测计算硬件容量每两年将翻一番。许多数字设备都受到摩尔定律的影响,因为处理能力、内存和其他技术能力随着时间的推移而不断提高,从而加速指数级增长和技术创新。

Technology innovation is linked to the theory of Moore’s Law, which predicts the doubling of computing hardware capacity every two years. Many digital devices are impacted by Moore’s Law as processing power, memory, and other technical capabilities improve over time, speeding exponential growth and technology innovation.

技术创新最好与业务部门合作进行,以符合公司的战略和目标。这也有助于确保技术的选择不会仅仅因为其“酷”的因素(见图10.1)。

Technology innovation is best done in partnership with the business to align with the company’s strategies and goals. It also helps ensure that technologies are not selected simply for their “cool” factor (see Figure 10.1).

图像

图 10.1技术创新

Figure 10.1 Technology innovation

趋势意识

Trend Awareness

趋势意识是了解有趣技术发展方向的窗口。它让您了解潜在的颠覆性新技术、商业模式、流程等,这些技术、模式、流程既可能让您在竞争中占得先机,也可能让您处于劣势。

Trend awareness is your window into where interesting technologies are heading. It provides you with a glimpse of the possible new disruptive technologies, business models, processes, and so on that can either give you a leg up on the competition or put you at a disadvantage.

图 10.2中的趋势图显示了新技术在流行度方面随时间推移出现的典型高峰和低谷。观察技术、商业模式、流程和相关领域的流行程度可以让您从宏观角度了解行业动态。Gartner、GigaOM 和 Forrester Research 等公司通常会收集并发布有关大数据、移动、游戏化等技术主题的此类信息,因为它们开始获得临界规模和知名度。

The trend diagram in Figure 10.2 shows the typical peaks and valleys in popularity that new technologies tend to follow over time. Observing the popularity of technologies, business models, processes, and related areas can give you a good sense of what is happening in the industry at the macro scale. Companies such as Gartner, GigaOM, and Forrester Research typically gather and publish this kind of information on technology topics such as big data, mobile, gamification, and others as they start to gain critical mass and awareness.

图像

图10.2趋势图

Figure 10.2 Trend diagram

您能够快速识别有前景的新技术趋势并预测其最终成功或失败,这将帮助您避免在那些最终默默无闻并最终失败的技术上浪费时间和资源。

Your ability to quickly identify promising new technology trends and predict their eventual success or failure will help you avoid spending time and resources on those technologies that end up toiling in obscurity and eventual failure.

趋势意识领域

Areas of Trend Awareness

各种各样的趋势都可能适用于您负责的建筑领域,应定期观察。这些趋势包括:

A wide variety of trends are potentially applicable to your architectural areas of responsibility and should be observed on a regular basis. These include the following:

图像 行业。影响您行业的经济状况是什么?该行业处于增长、稳定还是衰退的周期?您所在行业的经济状况会影响您吸引企业技术投资的程度。

Industry. What are the economic conditions that affect your industry? Is it in a cycle of growth, stability, or decline? The economics that are pervasive in your industry can and will affect the degree to which you will be able to attract technology investment from the business.

图像 大学研究。大学正在研究哪些领域可能对您的业务感兴趣并可能促成合作?了解学校在您的业务合作伙伴感兴趣的研究领域所做的工作,可以成为新信息和人才的重要来源,包括实习生和新员工,以及潜在的联合研究项目领域。

University research. What areas are universities researching that may be of interest to your business and lead to potential partnerships? Knowing what schools are doing in research areas that are of interest to your business partners can be a great source of new information and talent in the form of interns and new hires as well as an area for potential joint research projects.

图像 开源工具。哪些工具和技术的受欢迎程度和社区支持正在增加或减少,尤其是那些具有更有利于企业的许可安排的工具和技术?如果这些工具和技术的受欢迎程度和社区支持正在增加,则它们可能是被采用的潜在候选者;如果社区兴趣正在减少,则它们可能是被淘汰或被取代的候选者。

Open-source tools. What tools and technologies are gaining or declining in popularity and community support, especially those that have more business-friendly licensing arrangements? These are potential candidates for adoption if they are growing in popularity and community support or candidates for elimination or replacement if the community interest is declining.

图像 会议。会议是快速了解新兴“热门”技术的绝佳方式。这些会议上的演讲可以让你快速了解新技术的背景信息以及一些早期的实验和结果。这将帮助你了解哪些领域进展顺利,哪些领域仍处于起步阶段,需要更多的时间和测试。

Conferences. Conferences can be a great way to get a quick glimpse of what the new and emerging “hot” technologies are. The presentations at these conferences can give you a jump start into background information about new technologies and some of the early experiments and results. This will help you become aware of which areas are working well and which areas are still rough around the edges and need more time and testing.

图像 监管合规性。了解监管机构正在考虑的变更类型可以帮助您做好规划,以保持架构的灵活性,满足新的监管要求。

Regulatory compliance. Being aware of the types of changes that regulatory bodies are considering can help prepare you to plan the aspects of the architecture that may need to remain flexible to account for new regulatory requirements.

图像 硬件功能。硬件在不断变化。花时间了解主要供应商及其发展路线图可以帮助您为硬件做好准备,以便在不久的将来实现更好的性能或更便宜的解决方案。

Hardware capabilities. Hardware is constantly changing. Taking the time to keep up with key vendors and their roadmaps can help you prepare for hardware that may enable better performance or less expensive solutions in the near future.

图像 云功能。云计算领域正在快速发展。了解云供应商提供的功能可以毫不费力地实现弹性增长。关键挑战是了解可能与不同解决方案相关的成本和数据锁定。

Cloud capabilities. The area of cloud computing is evolving quickly. Understanding the capabilities provided by cloud vendors can enable elastic growth with little or no effort. The key challenges are to understand the costs and data lock-in that may be associated with the varying solutions.

图像 客户的竞争知识。与竞争对手保持同步的最佳方法之一是与客户建立密切的合作伙伴关系。客户可以成为您了解竞争对手正在做什么以及他们正在推广什么作为战略优势和差异化因素的极佳信息来源。

Customers’ competitive knowledge. One of the best ways to keep up with your competitors is to closely partner with your customers. They can be an excellent source of information about what your competitors are up to and what they are promoting as strategic advantages and differentiators.

图像 供应商能力。大量供应商提供有偿服务。一些供应商是其专业领域的领导者。他们通常对其他人在做什么以及哪些工作做得好、哪些工作做得不好有着深刻的理解。与这些类型的供应商合作可以成为一种很好的伙伴关系。关键是要确保供应商增加的价值大于使用其产品的成本。

Vendor capabilities. A large number of vendors make capabilities available for a price. Some vendors are leaders in their areas of expertise. They often have a solid understanding of what others are doing and what is working well and what is not. Working with these types of vendors can be a great partnership. The key is to ensure that the value being added by the vendor is greater than the cost of using their products.

图像 知识产权。与你的知识产权顾问或公司内部总法律顾问合作可以帮助你及时了解企业在专利或其他知识产权开发方面可能想要涉足的领域。

Intellectual property. Working with your intellectual property counsel or in-house general counsel can help you keep up to speed on areas where the business may want to go after the development of patents or other intellectual property.

图像 电子邮件提醒。许多在线资源允许您根据关键字设置提醒。当您听说一项新技术或发展时,您可以使用与该技术相关的关键字对其发出提醒。这样,当有新的更新或最新消息时,您将是第一批知道的人之一,这将帮助您持续监控该领域。

E-mail alerts. Many online sources allow you to set alerts based on keywords. When you hear of a new technology or development, you can put an alert on it using the keywords associated with the technology. Then when there are new updates or recent news, you’ll be one of the first to know, which will help you consistently monitor the space.

运用趋势意识

Applying Trend Awareness

当您尝试确定某个特定领域是否值得更详细地研究时,趋势信息可以作为指导来源。它可以作为技术相关方向变化的早期预警,该变化可能会影响业务,也可以作为警告,表明存在这对您的业务来说是一个新的机会,或者它可能只是证实至少目前在这个领域没有理由担心。

Trending information can be used as a source of guidance when you are trying to determine if a particular area is worth diving into in more detail. It can serve as an early warning that there is a technology-related change in direction that could impact the business, it can serve as an alert that there is a new opportunity for your business, or it may just serve as a confirmation that there is no cause for concern in this area, at least for now.

请记住,变化的速度可能是指数级的,您应该预料到在给定的技术重点领域中事情会迅速变化。定期和频繁地检查的能力将帮助您掌握可能影响您的行业和颠覆您的业务的技术变化趋势。

Remember that the rate of change may be exponential, and you should expect that things will change quickly in a given technology focus area. Your ability to check in on a regular and frequent basis will help you stay on top of the trends that signal technological changes that could impact your industry and disrupt your business.

业务协调

Business Alignment

业务协调是技术创新成功的关键因素。

Business alignment is a critical success factor to technology innovation.

关注客户咨询的趋势

Paying Attention to Trends on Customer Inquiries

如果您收到大量客户关于某一特定新趋势的咨询,那么考虑投资这一领域可能是值得的。他们很可能将这一新功能用作差异化因素以及比较和对比不同解决方案的手段。

If you are receiving a fair number of inquiries from customers about a particular new trend, it may well be worth your time to consider investing in this area. It is quite possible that they are using this new capability as a differentiator and a means of comparing and contrasting different solutions.

尽管该功能可能不是他们想要使用该产品的主要用例,甚至可能不经常使用,但他们可以将其列入清单并用来做出决定。

Although the capability may be not be a primary use case for what they want to use the product for and it may not even be used that often, it is something they can put on a checklist and use to make a decision.

这些东西可以帮助他们在组织内获得支持和激励,让他们明白为什么使用他们正在考虑的产品是一个好的选择。它可以帮助他们证明改变或购买的成本是合理的。

Such items can help them gain support and excitement within their organization about why using the product they are considering is a good choice. It can help them justify the cost for the change or the purchase to begin with.

获取客户反馈

Getting Customer Feedback

客户是您最好的信息来源之一。客户分为以下几种类型:

Your customers are one of your best sources of information. There are different kinds of customers:

图像 粉丝。他们总是有好话要说。倾听模式。关键是要找出模式背后的原因。是什么推动了他们的采用,是什么让他们对你的产品保持热情?

Fans. They always have great things to say. Listen for patterns. The key is to find out what is behind the patterns. What is driving their adoption, and what maintains their enthusiasm for your products?

图像 实用主义者。他们使用你的产品是因为它方便、简单、实用,而且经济实惠。这里的关键是要了解让他们回头的关键价值主张。

Utilitarians. They are using your product because it is convenient, it is easy, it is practical, and it makes financial sense. The key here is to understand the key value proposition that keeps them coming back.

图像 俘虏。他们使用你的产品是因为他们不得不这样做。要么他们不是购买你的产品的决策者,要么市场上没有竞争产品。这里的关键是了解谁推动了购买决策以及哪些因素影响了购买决策。

Captives. They are using your product because they have to. Either they are not the decision makers about buying your product or there are no competing products in the marketplace. The key here is to understand who drives the purchasing decisions and what influences them.

图像 追随者。他们使用您的产品是因为其他人说这是一款很棒的产品。推荐可以来自许多不同的来源;可能是朋友,也可能是网上评论。这里的关键是找出人们推荐的内容和原因。这是您的真正价值;这是一种认可。同样,听到其他人对您的产品的负面评价可以让您了解需要改进的地方。

Followers. They are using your product because others said it was a great product. The recommendation can come from many different sources; it could be from a friend, or it could come from online comments. The key here is to find out what people are recommending and why. This is your real value; it’s an endorsement. In a similar fashion, hearing the negative things others are saying about your product can give you insights into what you need to improve.

无论您的客户是谁,您都希望他们能够轻松地提供反馈。如果您使用调查问卷,请尽量简短,提供一些多项选择题,并为他们提供一个用自己的话输入评论的地方。他们可能会称赞您的产品,也可能会批评您的产品,但从客户那里获得各种各样的反馈可以让您了解需要改进的地方以及应该进行哪些改进。这可能很简单,只需在产品的网站上添加链接,征求改进产品的方法即可。

No matter who your customers are, you want to make it easy for them to provide feedback. If you use a survey, keep it short, provide some multiple-choice questions, and provide a place for them to type in their comments in their own words. They may praise your product or roast your product, but getting a wide variety of feedback from your customers can give you insights into where you need to go and what improvements you should pursue. It may be as simple as adding link on the product’s website to solicit ways to improve the product.

分析客户反馈

Analyzing Customer Feedback

收到客户反馈后,确保公司内部每个人都可以访问这些信息,无论反馈是好是坏。每个人访问这些信息的权限越大,这些信息对他们日常工作决策的影响就越大(见图10.3)。

Once you get the customer feedback, ensure that internally everyone has access to the information, whether it is good or bad. The more access everyone has to this information, the more it can help influence their daily decisions about the work they do (see Figure 10.3).

图像

图10.3客户趋势分析:客户反馈可以为您提供投资见解。

Figure 10.3 Customer trend analysis: customer feedback can give you investment insights.

寻找人们所说的内容中的共同模式。您要讲述一个故事,该故事可用于帮助了解您的产品在市场上的表现,并帮助推动应该在何处进行投资。

Look for common patterns in what is being said. You are looking to tell a story that can be used to help understand how your product is doing in the marketplace and help drive where investments should be made.

何时应谨慎对待趋势

When to Be Cautious about Trends

在很多情况下,追随或试图追随新趋势都不是一个好主意。例如:

There are a variety of situations when following or looking to follow new trends is simply not a good idea. For example:

图像现在有一项伟大的新技术,您想重新实现一个已经运行并且深受客户喜爱的系统。

There is a great new technology and you want to reimplement a system that already works and that customers love.

图像您即将完成一个主要版本的发布,团队正在努力稳定系统。

You are coming to the close of a major release and the team is working to stabilize the system.

图像您当前的系统已经遇到重大的运营挑战,但根本原因尚不清楚。

Your current system is already experiencing significant operational challenges, and the root cause is not known.

图像转换成本超过任何可察觉或实现的收益。

Switching costs outweigh any perceived or realized gains.

作为技术架构师,您的主要目标之一是管理风险,而不是引入风险。您需要确保在引入新技术、方法或模式后,有足够的时间从不稳定的系统中恢复过来。正如谚语所说,“谨慎是勇气的一部分。”

One of your major goals as a technology architect is to manage risk, not introduce it. You need to ensure that you have adequate time to recover from destabilizing the system after the new technologies, approaches, or patterns have been introduced. As the idiom goes, “Discretion is the better part of valor.”

您最不想做的事情就是不必要地损害自己的声誉,或者被监督您工作的高管视为鲁莽。为了降低这种风险,请始终睁大眼睛,愿意倾听他人的观点,无论是正面的还是负面的。努力了解他们的顾虑,并确保考虑来自各个层面的反馈。

The last thing you want to do is harm your reputation unnecessarily or be viewed as reckless by the executives who are overseeing the work that you do. To mitigate this risk, always go in with your eyes wide open and be willing to listen to other people’s perspectives, whether positive or negative. Seek to understand their concerns and make sure you’re considering feedback from all levels.

任何改变都是困难的,你也不会想通过强行推动你的公司、员工或客户尚未准备好的事情而让改变变得更加困难。此时,耐心和坚持是宝贵的技能。如果你是对的,随着大众意识的增强,人们最终会认识到你的方法和建议的价值。请记住,太早和太晚一样糟糕。时机就是一切。

Any change is difficult, and you don’t want to make it harder by pushing something your company and its people or customers aren’t ready for. Patience and persistence are valuable skills at this time. If you are right, as mass awareness grows eventually people will come around to seeing the value of your approach and recommendations. Remember that being too early can be just as bad as being too late. Timing is everything.

何时拥抱趋势

When to Embrace a Trend

有各种各样的情况自然而然地适合探索趋势并为需要解决的问题带来新的创新方法。这些包括:

There are a variety of situations that naturally lend themselves to exploring trends and bringing new and innovative approaches to the problems that need to be solved. These include the following:

图像企业希望对重要应用程序或系统进行技术更新并使技术堆栈现代化。

The business wants to do a technology refresh and modernize the technology stack for an important application or system.

图像企业希望利用一套新的应用程序或系统在新市场中占据一席之地。

The business wants to establish a presence in a new market with a new set of applications or systems.

图像当前的技术、方法和流程已被确定不足以解决当前的问题,新的方法不仅是必要的,而且受到所有相关人员的欢迎。

The current set of technologies, approaches, and processes has been determined to be inadequate for solving the problems at hand, and a new approach is not only warranted but welcomed by everyone involved.

如果您寻求在适当的时间引入新想法,您将获得企业的信任,相信您可以采取务实的方式推动业务发展。这种形式的合作将对您大有裨益。

If you seek to introduce new ideas at the appropriate times, you will gain the trust of the business that you can take a pragmatic approach to moving the business forward. This form of partnership will serve you well.

战略研究

Strategic Research

“研究是形式化的好奇心。它是有目的的探索和窥探。”

“Research is formalized curiosity. It is poking and prying with a purpose.”

—佐拉·尼尔·赫斯顿

—Zora Neale Hurston

在任何特定时间,可开展的研究项目或领域数量有限。在确定应探索哪些领域时,应考虑几个因素。这些因素包括

At any given time there are only a limited number of research projects or areas that can be undertaken. Several factors should be considered when determining what areas are the ones that should be explored. These include

图像 与战略业务目标保持一致。研究应集中于业务和技术都需要了解的领域,以便能够推进业务想要开展或投资的一组特定项目或领域。

Alignment with strategic business goals. Research should be focused on an area that both the business and technology need to learn about in order to be able to move forward with a particular set of projects or areas that the business wants to pursue or invest in.

图像 商定优先顺序。技术和业务部门都应该同意,这个领域的研究是必要的,用于此类研究的有限资金应该得到充分利用,并且这对两个领域来说都是高度优先的。

Agreed-upon prioritization. Both technology and the business should agree that this area of research is needed, that the limited funding available for this type of research would be well spent, and that this is a high priority for both areas.

图像 商定目的。技术和业务双方应该就研究的目的和预期结果达成一致。是为了确定在特定领域开展研究的可行性吗?是为了降低风险吗?是为了帮助适当确定投资请求的规模吗?是为了更好地了解这项技术对业务构成的威胁吗?是为了更好地了解特定领域可能提供的机会吗?是否有需要充实的法律和监管问题?

Agreed-upon purpose. Both technology and the business should be in agreement about the purpose and desired outcomes of the research. Is it to determine the feasibility of pursuing a particular area? Is it to reduce the risk? Is it to help appropriately size the investment request? Is it to better understand the threat that this technology poses to the business? Is it to better understand the opportunities a particular area may offer? Are there legal and regulatory issues that need to be fleshed out?

图像 商定时间和资源分配。技术和业务双方应就此项研究的时限达成一致。理想情况下,以天为单位。目标应该是以经济高效的方式进行研究,并尽可能限制用于进行研究的时间、金钱和资源。如果研究规模较大,业务中是否有其他领域可以与您分担此项研究的成本?

Agreed-upon time and resource allocation. Both technology and the business should agree upon a time box that this research will fit into. Ideally, this is measured in days. The goal should be to do the research in a cost-effective manner, and to the greatest degree possible limit the amount of time, money, and resources being used to pursue it. Are there other areas in the business with which you can share the cost of this research if it turns out to be a larger endeavor?

图像 商定的报告机制。在进行研究时,如何向企业报告研究进展和经验教训?这些报告是否有助于确定该研究领域是否值得继续研究?企业的其他领域是否对研究结果感兴趣?您是否可以将这些研究结果发布在内部可访问的协作区域,以便让其他人了解研究进展?如有必要,您是否可以根据研究的性质控制谁有权访问研究结果?

Agreed-upon report-out mechanism. As the research is pursued, how will the progress and lessons learned be reported out to the business? Are there natural points at which these report-outs can help determine if this area of research is worth continuing to pursue? Are there other areas of the business that would be interested in the outcomes of the research? Can you post these findings in an internally accessible collaboration area to let others know how the research is progressing? If necessary, can you control who has access to the research findings, depending on the nature of the research?

关键是与企业合作来确定围绕战略研究的参数。

The key is to partner with the business to determine the parameters that surround strategic research.

研究方法

Research Approaches

可以采取几种不同的研究方法,例如:

Several different approaches to pursuing research can be taken, such as the following:

图像 业务部门驱动。该研究在业务部门内部进行。从事该研究的资源通常不会 100% 投入到研究中。

Business unit driven. This research is done internally within a business unit. The resources working on it typically are not devoted 100% to research.

图像 研发。这项研究由专门的研发团队完成。该团队通常配备有企业感兴趣的特定领域的博士学位。他们通常还积极参与更广泛的学术研究社区。

R & D. This research is done by a dedicated research and development team. It is often staffed with resources who have Ph.D.s in specific areas of interest to the business. They also are typically actively involved in the broader academic research community.

图像 大学伙伴关系。这项研究是与一所大学合作进行的。它使大学能够接触到具有挑战性的业务问题和通常不公开的信息,并且企业可以接触到专门研究特定领域的教授和学生。

University partnership. This research is done in partnership with a university. It allows the university to get exposure to challenging business problems and information that is generally not publicly available, and the business gets access to professors and students who specialize in a particular area of interest.

图像 开放式创新挑战。这是一种研究挑战,通常与 InnoCentive 等公司合作构建。他们将与您和您的团队合作,帮助将研究问题或疑问构建成挑战。他们还将处理任何知识产权处理以及挑战获胜者的任何奖励。挑战本身可以向公众开放,也可以只对您企业内部的人开放。成功的挑战通常会产生针对特定业务问题的众包解决方案。

Open innovation challenges. This is a research challenge that typically is constructed in partnership with a company such as InnoCentive. Working with you and your team, they will help frame the research problem or question into a challenge. They will also handle any intellectual property treatments and any awards for the winners of the challenge. The challenge itself can be open to the public or open only to those within your business. A successful challenge typically results in a crowdsourced solution to a specific business problem.

图像 企业创新实验室。这些实际上是在整个企业内形成的初创团体。他们专注于通过与真实客户互动进行快速实验和验证学习。他们经常使用 A/B 测试来帮助推动决策,确定哪种替代解决方案效果更好。

Corporate innovation labs. These are effectively start-up groups that are formed within the overall business. They focus on rapid experimentation and validated learning through interacting with real customers. They often employ A/B testing to help drive decisions about which alternative solution is working better.

目标是选择最适合您的业务情况的方法或方法组合。关键是找到将新想法和方法注入业务的方法,使其能够发展。

The goal is to pick the approach or mix of approaches that makes the most sense for your business situation. The key is to find ways to inject new ideas and approaches into the business that will enable it to grow.

技术创新原则

Technology Innovation Principles

技术创新能够为企业带来颠覆性技术。挑战在于在正确的时间与企业合作推出这些技术,以获得最大的成功机会。

Technology innovation has the ability to bring disruptive technologies to the business. The challenge is to bring these technologies forward at the right time and in partnership with the business to enable the best possible chances for success.

寻求批准但最少的时间和资金进行探索

Seek Approved but Minimal Time and Funding to Explore

理想情况下,你应该能够获得有限的企业批准的工作时间来探索新技术和趋势。这可能采取以下形式:

Ideally, you should be able to get a limited amount of business-approved work time to explore new technologies and trends. This may take the form of

图像小型研究项目

Small research projects

图像探索性原型

Exploratory prototypes

图像阅读研究论文

Reading research papers

图像参加专注于商业兴趣领域的会议

Attending conferences that are focused on the area of business interest

图像阅读可能带来新功能的博客、杂志或书籍

Reading blogs, magazines, or books that may enable new capabilities

引用谷歌、3M 和惠普等成功创新的公司的例子,这些公司允许员工有“创新时间”来专注于新领域并进行研究,这也有助于您获得批准。

Citing successful and innovative companies such as Google, 3M, and HP that allow employees “innovation time” to focus on and research new areas may also help in your efforts to obtain approval.

理想情况下,你的研究请求应该与你的业务伙伴在以下领域共同完成:

Ideally, your research request would be done in conjunction with your business partners in an area that

图像他们正在考虑搬进

They are looking to move into

图像目前他们很难解决

Is currently extremely hard for them to solve

图像需要大量人工来处理

Requires a significant amount of manual effort to deal with

下小赌注

Make Small Bets

我们的目标是生存下去,再过一天。如果你不确定企业的长期前景,你不会希望整个企业都依赖一项投资。谨慎地做出此类决定可以让你快速失败,对企业的影响最小,并学习如何改进。

The goal is to survive to live another day. You don’t want the entire business riding on a single investment if you are unsure of its long-term future. Being prudent with these kinds of decisions allows you to fail quickly, with the least amount of disruption to the business, and learn how to improve.

使用技术侦察定期扫描和跟踪趋势

Use Technology Scouting to Scan and Track the Trends Regularly

追踪技术趋势的目标是定期了解新事物(见图10.4),并找出

The goal with scouting technology trends is to learn about new things on a regular basis (see Figure 10.4) and find out

图像适用于业务的内容

What is applicable to the business

图像哪些事情需要搁置,等待成熟

What things need to wait on the back burner while they mature

图像哪些事情值得进一步调查

What things warrant further investigation

图像

图 10.4趋势探查

Figure 10.4 Trend scouting

使用侦察法来关注新兴趋势,扫描全景以确定哪些是新的和有趣的,然后跟踪那些看起来有希望的趋势并将其应用于您的业务。如果获得的信息不被分享,扫描和跟踪技术趋势的价值就会降低,因此请尝试找到一个分享您发现的场所并继续进行更新,以便您的研究是最新的和相关的。

Keep an eye on new and emerging trends using the scouting method of scanning the landscape to identify what’s new and interesting, then track those trends that look promising and apply them to your business. Scanning and tracking technology trends is of less value if the information obtained is not shared, so try to find a venue to share your findings and continue to make updates so your research is up-to-date and relevant.


笔记

Note

通过使用一种称为“扫描和跟踪”的技术,保持高度集中和高度警觉,最大限度地提高趋势分析的质量,并限制所花费的时间。

Maximize the quality of your trend analysis and limit the amount of time you spend by staying hyper-focused and hyper-aware using a technique called “scanning and tracking.”


除非你处于特殊情况,否则趋势和趋势调查不应该占用你大量的时间。主要趋势变化频率较低——你可能会看到方向每 6 到 12 个月变化一次——而次要趋势变化更快。

Unless you are in some special circumstance, trends and trend investigation should not consume a large portion of your time. Major trends change less frequently—you may see the direction change every 6 to 12 months—while minor trends change more rapidly.

通过快速浏览研究兴趣领域并跟踪任何重大变化,您将建立一个知识库,这将使您下次考察该领域时的工作更加高效。捕捉这些变化,无论趋势是势头强劲还是减弱,都可以让您了解是否值得花费额外的时间和资源来了解有关特定领域的更多信息并报告您的发现。

By quickly scanning an area of research interest and tracking any major changes, you’ll build up a knowledge base that will make your efforts more efficient the next time you scout the area. Catching these changes, whether the trends are gaining momentum or fading, gives you an indication of whether or not it is worth spending additional time and resources to learn more about a particular area and report out your findings.

有一个实验室区域

Have a Lab Area

拥有实验室环境可以让您尝试新技术,而无需从其他领域获得太多关注。对于您发现成功的领域,您可以将它们带到生产环境中。

Having a lab environment can allow you play around with new technologies without a lot of visibility from other areas. For the areas in which you find success, you can bring them forward and have them progress toward a production environment.

建立一个小型实验室通常不需要花费太多,而且可以让你做一些让数据中心人员感到害怕的事情。

Setting up a small lab typically doesn’t cost too much and allows you to do things that would scare the data center folks to no end.

利用用户反馈循环进行快速实验

Use Rapid Experimentation with User Feedback Loops

通过实验,您可以直接了解哪些方法有效,哪些方法无效,并了解真正的问题是什么。将实验与用户反馈相结合,您就能够了解客户需求。从很多方面来看,这类似于驾驶汽车。您可以使用周围的信息来导航至您想要的目标。

Experiments allow you to get firsthand knowledge of what is working or not working and a sense of what the real problems are. When experiments are combined with user feedback, you gain the ability to navigate toward customer needs. In many respects, this is similar to driving a car. You use the information that surrounds you to navigate toward your desired goal.

向企业和客户展示原型

Show the Business and Customers Prototypes

当你成功运用新技术时,向企业展示其潜力。一个可行的例子对企业来说价值非凡:

As you have success with new technologies, show the business what is possible. A working example is worth an amazing amount to the business:

图像这表明了你的主动性。

It demonstrates initiative on your part.

图像如果企业选择抓住机会,则可以降低企业面临的风险。

It reduces risk on the part of the business if it chooses to pursue the opportunity.

图像它促使你思考解决问题的新方式和新方法。

It engages your mind in thinking of new ways and approaches to solving problems.

图像小创新可以发展成为大企业,并有助于长期维持业务。

Small innovations can grow into large enterprises and help sustain the business for the long haul.

图像它可以让开发团队参与进来并向他们表明,在你的公司工作将使他们有机会从事很酷的事情并与行业保持同步。

It engages the development team and shows them that working in your company will give them the opportunity to work on cool things and stay current with the industry.

在边缘引入新技术

Introduce New Technologies at the Edge

当您考虑将新技术引入现有系统甚至新系统时,请尝试找到对核心影响最小的系统边缘区域(见图10.5)。这使您能够以安静的方式实施新技术。

As you look to introduce new technologies into existing systems or even new systems, try to find areas near the edge of the systems that will have minimal impacts on the core (see Figure 10.5). This enables you to operationalize the new technology in a quiet manner.

图像

图 10.5将流行区域保持在活动边缘附近将最大限度地降低尝试新事物的总体风险和失败的可见性。

Figure 10.5 Keeping trendy areas near the edge of your activities will minimize the overall risk of trying out new things and the visibility of failures.

即使失败了,影响也会相对较小,高管也不太可能注意到。

If it fails, the impact will be relatively small and the executives will be less likely to take notice.

另一方面,如果您在任何一段时间内取出核心创收软件,您都可能会接到高管的直接电话,并参加一些非常不愉快的会议,您的判断力会受到质疑。

On the other hand, if you take out the core revenue-generating software for any period of time, you are likely to get a direct call from senior executives and have some very unpleasant meetings in which your judgment is questioned.

如果确实发生这种情况:

If this does occur:

图像率先与高管人员接洽。

Be the first to approach the executives.

图像让他们了解情况。

Let them know what the situation is.

图像让他们知道可能的解决方案是什么。

Let them know what the possible resolutions are.

图像让他们知道您推荐哪条路径。

Let them know what path you recommend.

在这种情况下,主动出击比被动应对要好得多。主动出击让你有机会掌控并在一定程度上管理所传递的信息。

You are much better off being proactive in this situation than reactive. It gives you an opportunity to be in control and to some degree manage the message that is delivered.

务实科技创新

Pragmatic Technology Innovation

务实技术创新的关键并不在于当今的现状,而在于了解新兴事物并预测业务合作伙伴及其客户的未来需求。观察 Gartner 的炒作周期、参加领先的会议和关注博客可以帮助您了解行业投资的方向。

The key to pragmatic technology innovation is not so much what is here today; the key is to see what is emerging and anticipating the future needs of your business partners and their customers. Watching Gartner’s Hype Cycles, attending leading conferences, and following blogs can help give you a sense of where the industry investments are being made.

花时间尝试这些技术;如果可能的话,找一个低调的项目来测试它们。重点是了解正在解决哪些问题或将满足哪些业务需求。

Take the time to play around with these technologies; if possible, find a low-profile project to test them on. The important point is to understand what problems are being solved or what business needs will be met.

这对你的业务有什么影响?思考以下问题:

How does this apply to your business? Think about these questions:

图像你的生意要往哪里发展?

Where is your business going?

图像您的主要竞争对手去哪里了?

Where are your chief competitors going?

图像你的竞争对手在哪里投资?

Where are your competitors investing?

图像商业格局正在发生变化吗?

Is the business landscape changing?

图像是否有新的竞争对手出现?

Are there new emerging competitors?

图像您的客户群是否在发生变化?客户群在扩大吗?缩小吗?老化吗?

Is your customer base changing? Is it expanding? Shrinking? Aging?

图像您的客户的商业模式发生了什么变化?

What is happening to your customers’ business model?

图像您知道您的客户的商业模式为何发生改变吗?

Do you know why your customers’ business model is changing?

图像什么影响了你的市场采用?

What affects your market adoption?

图像您是否需要更加贴合时尚营销和产品外观?

Do you need to be more aligned with trendy marketing and product appearance?

考虑这些问题的答案可以帮助您了解哪些趋势需要注意、哪些趋势需要采取行动以及哪些趋势应该忽略。

Taking the answers to these questions into account can help you navigate the tricky waters of what trends to be aware of, what trends to act upon, and what trends you should ignore.

如今,一些重大趋势正在影响着技术。这些趋势包括:

Today, large sweeping trends are influencing technology. These include the following:

图像 大数据。大数据运动正在改变人们对数据分析、数据可视化和内容处理的看法。Hadoop 和 MapReduce 正在成为所有行业广泛使用的技术。越来越多的技术正在与 Hadoop 分布式文件系统 (HDFS) 集成,并使大数据访问无处不在。了解客户和打造以用户为中心的体验的能力从未如此重要。将信息生命周期语义纳入您的随着您对用户的了解不断增加,架构可以显著改善用户体验。

Big data. The big data movement is transforming people’s thoughts about data analytics, data visualization, and content processing. Hadoop and MapReduce are becoming widely used technologies across all industries. An ever-growing set of technologies is integrating with the Hadoop Distributed File System (HDFS) and making access to big data ubiquitous. Your ability to understand customers and craft user-centric experiences has never been more important. Incorporating information life-cycle semantics into your architecture can enable significantly improved user experiences as your understanding of the users increases.

图像 移动。人们越来越普遍地期望将移动设备作为主要应用访问点。了解应用中的用户体验是前倾(高度交互)还是后倾(消费内容),对于确保用户获得良好的体验至关重要。这种理解以及预测用户的多任务倾向可以推动您的架构方法,以最佳方式交付内容。

Mobile. Expectations of mobile as a primary application access point are becoming commonplace. Understanding the user experience within your application as being lean forward (highly interactive) versus lean back (consuming content) is critical to ensuring that the user has a great experience. This understanding along with anticipating users’ tendencies to multitask can drive your architectural approaches for the best ways to deliver content.

图像 网络化平台。随着云计算的兴起以及设备和传感器的普及,平台正逐渐变得越来越互联。了解与用户和系统交互的需求有助于推动实现网络化平台所需的架构分层和安全 API 开发。

Networked platforms. With the rise of cloud computing and the proliferation of devices and sensors, platforms are slowly becoming more and more interconnected. Understanding the need to interact with users as well as systems can help drive the architectural layering and the secure API development that are needed to enable networked platforms.

趋势在不断变化。关键是要意识到这些趋势,并了解它们对你的技术创新领域的影响。趋势的变化往往相对较慢,但你对它们的认识以及在正确的时间将它们适当地应用于业务的能力对于保持你的架构与时俱进并与业务相关至关重要。

The trends are constantly changing. The key is to be aware of them and to understand their ability to impact your areas of technology innovation. The trends tend to move relatively slowly, but your awareness of them and your ability to apply them appropriately to your business at the right time are critical to keeping your architecture current and relevant to the business.

概括

Summary

技术创新之路始于

The road to technology innovation begins with

图像了解趋势

Being aware of the trends

图像与业务保持一致

Aligning with the business

图像从事战略研究

Engaging in strategic research

图像运用创新原则

Using innovation principles

图像做务实的技术创新者

Being a pragmatic technology innovator

观察和追随趋势既有趣又令人兴奋。它们很容易分散你对手头工作的注意力。然而,它们也是未来的眼睛,可能带来机遇或危险。建筑师需要熟悉他们周围正在发生的趋势,并谨慎对待它们。

Watching and following trends can be fun and exciting. They can easily distract you from the job at hand. However, they are also the eyes into the future that may provide opportunity or peril. Architects need to be familiar with the trends that are swirling around them and approach them with caution.

技术创新是软件架构的一个重要方面。了解何时何地将新的和潜在的颠覆性技术引入业务对于业务增长和运营稳定至关重要。

Technology innovation is a critical aspect of software architecture. Learning when and where to introduce new and potentially disruptive technologies into the business is essential for business growth and operational stability.

参考

References

Blank, Steve。2013 年。“聚焦创业:精益创业为何改变一切。” 《哈佛商业评论》,5 月。

Blank, Steve. 2013. “Spotlight on Entrepreneurship: Why the Lean Start-Up Changes Everything.” Harvard Business Review, May.

Chesbrough, Henry William。2005 年。《开放式创新:创造技术并从中获利的新要求》。《哈佛商业评论》出版社。

Chesbrough, Henry William. 2005. Open Innovation: The New Imperative for Creating and Profiting from Technology. Harvard Business Review Press.

Davenport, Thomas H. 和 Jeanne G. Harris。2007 年。《分析竞争:制胜新科学》。《哈佛商业评论》出版社。

Davenport, Thomas H., and Jeanne G. Harris. 2007. Competing on Analytics: The New Science of Winning. Harvard Business Review Press.

Howe, Jeff。2009 年。《众包:为何群众的力量将推动商业的未来》。Crown Business。

Howe, Jeff. 2009. Crowdsourcing: Why the Power of the Crowd Is Driving the Future of Business. Crown Business.

Ries, Eric。2011 年。《精益创业:当今企业家如何利用持续创新打造极其成功的企业》。皇冠出版社。

Ries, Eric. 2011. The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Press.

第 11 章 战略路线图

Chapter 11. Strategic Roadmapping

“规划好你的未来——但要用铅笔画。前方的道路有多长,取决于你如何走下去。让这趟旅程变得值得。”

“Map out your future—but do it in pencil. The road ahead is as long as you make it. Make it worth the trip.”

—乔恩·邦·乔维

—Jon Bon Jovi

“你所需要的只是计划、路线图和到达目的地的勇气。”

“All you need is the plan, the roadmap, and the courage to press on to your destination.”

— 厄尔·南丁格尔

—Earl Nightingale

“一个好的计划就像一张路线图:它显示了最终的目的地,并且通常还显示了到达那里的最佳方式。”

“A good plan is like a roadmap: it shows the final destination and usually the best way to get there.”

—H.斯坦利·贾德

—H. Stanley Judd

“我无法改变风向,但我可以调整我的船帆,以便到达目的地。”

“I can’t change the direction of the wind, but I can adjust my sails to always reach my destination.”

—吉米·迪恩

—Jimmy Dean

“追随你真正热衷的事物并让它引导你到达目的地。”

“Follow what you are genuinely passionate about and let that guide you to your destination.”

—黛安·索耶

—Diane Sawyer

“战略的本质是选择不做什么。”

“The essence of strategy is choosing what not to do.”

—迈克尔·波特

—Michael Porter

您是否曾在公司工作时开始意识到一种新的愿景正在形成,这种愿景与您目前所处的情况截然不同?这种愿景将真正改变行业格局,如果实现,将对您的业务、行业甚至世界产生重大影响?

Have you ever been working with the business and started to realize that a new vision was emerging, one that is radically different from where you are today? A vision that would be a real game changer and, if realized, would have a significant impact on your business, possibly your industry, and maybe even the world?

你的脑海里开始浮现出实现这一愿景需要发生的所有事情。似乎有无数的依赖关系需要协调才能实现这一愿景。在这个过程经过数周和数月的时间,你开始理清业务问题,并开始意识到,如果一切进展顺利,愿景就有可能(尽管可能性很小)变成现实,并且还有一线希望。

Your mind begins to swirl with all of the things that would need to happen to make this vision come to life. There are what appear to be endless dependencies that would need to align for this to become a reality. Over the course of weeks and months, you begin sorting this out with the business, and you begin to realize that there is a glimmer of hope that if things aligned reasonably well, the vision has a real shot (albeit a long shot) at becoming a reality.

本章揭示了软件架构师所需的一项基本技能:制定如何到达潜在目的地的路线图的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to lay out a roadmap for how a potential destination can be reached.

战略路线图定义

Strategic Roadmapping Defined

战略路线图是规划实现特定愿景可能需要的重要里程碑的过程。里程碑的确切顺序可能没有明确定义,但它们的总体顺序大致正确。

Strategic roadmapping is the process of laying out major milestones that are likely to be required for a particular vision to be realized. The exact sequence of the milestones may not be well defined, but their general order is roughly correct.

路线图使战略变得切实可行。

Roadmaps make strategies actionable.

以视觉方式呈现路线图可以让人们了解实现特定愿景的步骤、依赖关系及其大致顺序(见图11.1)。

Representing roadmaps visually can give a sense of the steps, dependencies, and their approximate ordering to achieve a particular vision (see Figure 11.1).

图像

图 11.1路线图可视化

Figure 11.1 Roadmap visualization

战略路线图的要素

Elements of a Strategic Roadmap

战略路线图往往包含以下章节中描述的核心要素。

Strategic roadmaps tend to incorporate the core elements described in the following sections.

战略重点

Strategically Focused

路线图应与组织的战略、使命和目标保持一致。路线图应有一个最终状态。最终状态存在一定程度的模糊性是正常的,可以在过程中逐渐澄清。

The roadmap should be aligned with the strategies, mission, and goals of the organization. There should be an end state toward which the roadmap is driving. Some level of fuzziness in the end state is normal and can be clarified along the way.

时间顺序

Time Sequenced

路线图本身应该针对特定的时间范围。通常,它可以是 6 个月到 36 个月,具体取决于所追求目标的性质以及最终结果对组织的紧迫程度。

The roadmap itself should target a specific time horizon. Typically, it can range from 6 months to 36 months depending on the nature of what is being pursued and how urgent the end result is to the organization.

由 Swim Lanes 组织

Organized by Swim Lanes

路线图上的泳道通常代表将执行或监督工作、正在实施的策略的团队,或与路线图所针对的团队高度相关的其他逻辑分组。在每个泳道中,您应包括需要解决的关键事项、它们的大致开始和结束日期以及需要实现的关键里程碑,以证明正在取得进展。

The swim lanes on the roadmap typically represent groups that will do or oversee the work, strategies being pursued, or some other logical grouping that is highly relevant to the group to which the roadmap is targeted. Within each swim lane, you should include key items that need to be addressed, their approximate start and end dates, and key milestones that need to be achieved to demonstrate that progress is being made.

一个有用的泳道组织是

One useful organization of swim lanes is

图像产品泳道(关键功能、特性或版本)

A product swim lane (key capabilities, features, or releases)

图像技术泳道(产品依赖的关键技术可交付成果)

A technology swim lane (key technology deliverables that are dependencies for the product or products)

图像基础设施泳道(关键的第三方和运营依赖)

An infrastructure swim lane (key third-party and operational dependencies)

依赖性感知

Dependency Aware

路线图中所示的项目之间通常存在许多依赖关系。需要明确指出这些依赖关系,以帮助使用路线图的受众了解它们的相对顺序。应根据项目相对于其他活动和依赖关系的相对开始和结束日期对这些项目进行排序。

There are typically many dependencies among the items that are represented on the roadmap. These dependencies need to be clearly called out to help the audience that is consuming the roadmap understand their relative order. The items should be sequenced according to their relative start and end dates in relation to the other activities and dependencies that exist.

视觉呈现

Visually Represented

路线图最好以视觉方式呈现。使用时间跨度、顺序、颜色、形状、符号和图标可以帮助使呈现的大量信息更易于理解,并与受众相关。

The roadmap is best represented in a visual manner. The use of time spans, sequencing, colors, shapes, symbols, and icons can help make the dense amount of information being presented more consumable and relevant to the audience.

本质上的协作

Collaborative in Nature

路线图的制定本质上是协作性的。它通常需要来自不同领域具有专业知识的广泛群体的意见。这种协作可以确定依赖关系并确定实现最终目标所需的关键里程碑。

The development of the roadmap is collaborative in nature. It typically requires input from a wide group of individuals with expertise in varying areas. This collaboration enables dependencies to be identified and key milestones to be established that will need to occur to reach the end goal.

代号

Code Named

路线图所代表的工作通常有一个与之相关的代号。这种命名方式为参与这项工作的人员建立了讨论背景。如果担心保密性,代号还可以最大限度地减少对不熟悉这项工作的人的信息。

The effort that is represented by the roadmap often has a code name associated with it. This naming allows a context for discussions to be established among those involved with the effort. A code name also minimizes information to those who are not familiar with the effort if confidentiality is a concern.

上下文相关(个性化)

Context Dependent (Personalized)

制定路线图没有固定的方法、流程或格式。路线图本身需要与制定它的组织高度相关。它需要使用特定领域的名称、类别、符号、颜色、目标和策略,这些对于您的业务和行业来说是常见且熟悉的。您需要让广大受众轻松理解路线图。在流程中引入的外语和不熟悉的概念越多,人们就越难理解要完成的任务。

There is no right way, process, or format for developing a roadmap. The roadmap itself needs to be highly relevant to the organization that is developing it. It needs to use domain-specific names, categories, symbology, colors, goals, and strategies that are common and familiar to your business and industry. You need the roadmap to be easily consumable by a broad audience. The more foreign language and unfamiliar concepts that are introduced into the process, the more challenging it will be for people to understand what is to be accomplished.

多学科和专业

Multidisciplinary and Specialized

大多数路线图都超出了个人甚至整个组织的知识和专长。召集合适的人员来了解要实施的计划的细节对于制定路线图至关重要。如果您的组织内部没有所需的所有专业知识,您可能需要聘请外部专家或顾问来帮助讨论组织不熟悉或未知的领域。

Most roadmaps go beyond the knowledge and expertise of a single person and often of an organization. Gathering the right set of people who can speak to the nuances of the plan to be pursued is critical to developing a roadmap. If you don’t have all of the expertise that is required within your organization, you may have to bring in external experts or consultants to help speak to the areas that are new or unknown to the organization.

优先考虑

Prioritized

路线图不仅关乎您想要实现的目标,也关乎您想要排除的目标。路线图用于做出艰难的决定,并确定优先考虑哪些内容以及何时需要完成。路线图不仅仅是一份愿望清单。

Roadmaps are as much about what you want to exclude as what you want to accomplish. They are about making tough decisions and prioritizing what to include and when it needs to be accomplished. A roadmap is not just a wish list.

本质上是迭代的

Iterative in Nature

路线图本质上是迭代的。随着路线图向更广泛的受众传播,新的细节、新的依赖关系和新的风险会出现,而有些则会逐渐消失。这些更新的信息需要反馈到路线图中,这导致了路线图的进化和有机性。

Roadmaps are inherently iterative in nature. As the roadmap is socialized to a broader audience, new details, new dependencies, and new risks emerge and some fade away. This updated information needs to be fed back into the roadmap, which leads to its evolutionary and organic nature.

更新

Updated

路线图需要是动态文档。拥有和开发路线图的团队需要通过每月、每季度或每年更新路线图来保持其相关性,以反映进度、变化、新的依赖关系或顺序变化。随着时间的推移,观察路线图的发展变化会很有趣。当创建新版本的路线图时,应在路线图上放置日期或版本标识符,以便让使用信息的人了解它是当前信息还是历史信息。

Roadmaps need to be living documents. The group that owns and develops the roadmap needs to keep it relevant by updating it on a monthly, quarterly, or yearly basis to reflect progress, changes, new dependencies, or changes in sequence. Over time, it can be interesting to see the progression of a roadmap as it evolves. When new versions of the roadmap are created, a date or version identifier should be placed on the roadmap to let those who are consuming the information understand whether it is current or historical in nature.

发布

Published

路线图应发布到足够广泛的人群可以使用和评论的位置。由于保密性或战略考虑,只有直接参与这项工作的人或与这项工作关系密切的人才能访问路线图。目标是让尽可能多的人参与进来,让他们提供适当的反馈。由于路线图具有战略性,因此大多数路线图都不对外公开。

Roadmaps should be published to a location that allows for them to be consumed and commented on by a sufficiently broad set of people. Access to the roadmap may be limited to those who are directly involved with the effort or those who are relatively close to it due to confidentiality or strategic concerns. The goal is to engage the broadest possible set of individuals who can provide appropriate feedback. Because of their strategic nature, most roadmaps are not publicly available.

可衡量

Measurable

路线图执行的进展应该清晰可衡量。在实现最终目标的过程中,确定的步骤应该足够小,以便所有参与这项工作的人都能看到定期的进展情况。

Progress on execution of the roadmap should be clearly measurable. The steps that are identified in the progression toward the end state need to be small enough that a regular heartbeat of progress is visible to all who are involved with the effort.

战略路线图的各个要素可用于帮助您了解如何制定路线图。

The elements of a strategic roadmap can be used to give you a sense of how to approach roadmapping.

路线图策略

Roadmapping Strategies

使用便签在白板上绘制路线图

Whiteboarding the Roadmap Using Sticky Notes

当您开始制定路线图时,保持简单并尽量减少制定路线图时的繁琐仪式有助于快速启动和推进工作。实现此目标的最佳方法之一是使用一块大白板,并在其上贴上便签,写下实现目标需要做的事情。便签可以轻松移动并按顺序排列。

When you start to develop a roadmap, keeping it simple and minimizing the ceremony around its creation can help get things jump-started and moving quickly. One of the best ways to approach this is to simply use a large whiteboard and place sticky notes on it where you’ve written things that need to happen to achieve the goal. Sticky notes can easily be moved and sequenced relative to one another.

随着路线图的发展,自然的顺序和分组将开始形成。这有助于告知这项工作的泳道应该是什么。当发现依赖关系时,将它们记在便签上或用胶带和绳子将它们连接起来。随着你取得进展,拍下路线图的照片。稍后,这可以帮助激发其他人在看到路线图发展时的想法。

As this roadmap develops, natural sequences and groupings will begin to form. This helps inform what the swim lanes for the effort should be. As dependencies are discovered, note them on sticky notes or use tape and string to connect them. As you make progress, take pictures of the roadmap. Later, this can help trigger ideas from others as they see the roadmap developing.

从结尾开始(又称逆向工作)

Starting with the End (aka Work Backward)

有时,刚开始制定路线图可能会有点令人望而生畏。缓解这种情况的一种方法是从最后开始。问问自己需要什么才能实现最终状态。一旦确定了这些项目,就以这些新项目为目标重复该过程,并确定需要做些什么才能实现这些目标。不断重复这个过程,直到你回到当前状态。这个过程将有助于确定需要考虑的关键依赖关系和潜在差距。

Sometimes just getting started with a roadmap can be a bit daunting. One way to alleviate this is to start at the end. Ask what is needed to accomplish the end state. Once those items have been identified, repeat the process with these new items as goals and determine what needs to be in place to be able to accomplish them. Keep repeating this process until you are back to your current state. This process will help identify key dependencies and potential gaps that need to be considered.

举办研讨会

Holding Workshops

鉴于路线图的协作性质,举办研讨会让所有相关参与者可以亲自见面,这是启动战略路线图并协调参与者的好方法。它让过去可能没有合作过的参与者相互了解。在未来,如果人们与其他参与者有信任感和建立的关系,这将有助于减少人们分享想法的障碍。

Given the collaborative nature of roadmapping, holding workshops where all the relevant participants can meet in person is a great way to get a strategic roadmap kicked off and align participants. It allows for the participants who may not have worked together in the past to get to know one another. In the future, this will help reduce the barriers for people to share ideas if they have a sense of trust and an established relationship with the other participants.

在研讨会开始前,向参与者提供议程信息以及所有准备材料,以便他们有时间双方的合作不仅仅关乎发现,更关乎实际的路线图制定和冲突解决。

Before the workshop, give the participants information about what the agenda will be and access to any preparatory materials so that the time together can be less about discovery and more about the actual roadmap development and conflict resolution.

随着研讨会的进行,记录讨论中产生的任何行动。当研讨会接近尾声时,回顾未完成且相关的行动项目,并记录研讨会进展顺利和可以改进的地方。

As the workshop progresses, capture any actions that evolve out of the discussions. When the workshop is nearing the end, review the action items that are outstanding and relevant, and capture information about what went well and what could be improved about the workshop.

将路线图视为一个项目

Thinking of Roadmapping as a Project

帮助实现路线图可持续性的一种方法是将路线图制定工作视为一个项目本身。路线图是产品,围绕路线图开展的工作可以从故事、迭代、发布计划和其他开发步骤的角度来考虑。

One way to help with the sustainability of the roadmap is to consider the roadmapping exercise as a project itself. The roadmap is the product and the work that happens surrounding the roadmap can be thought of in terms of stories, iterations, release planning, and other development steps.

把握基本指导原则

Capturing Underlying Guiding Principles

随着路线图的制定,通常会制定指导原则来帮助参与者做出决策。掌握这些指导原则可以帮助其他人日后理解为什么选择这个决策或路径而不是另一个。它们有助于描述路线图背后的总体原理。

As the development of the roadmap progresses, often guiding principles are established to help the participants make decisions. Capturing these guiding principles can help others later on to understand why one decision or path was chosen over another. They help describe the overall rationale behind the roadmap.

战略路线图的策略仅供参考。如前所述,制定路线图没有正确或错误的方法。关键是要发现实现组织最理想的目标所需的信息,并以符合组织文化的方式实现目标。

The strategies for strategic roadmapping are only suggestions. As stated previously, there is no right or wrong way to develop a roadmap. The key is to discover the information that is needed to pursue the goals that the organization finds most desirable and to do it in a manner that fits with the organization’s culture.

路线图原则

Roadmapping Principles

路线图的目的是建立一条实现特定目标的路径。以下原则可用于帮助指导路线图的创建和维护。

The goal of roadmapping is to establish a path to reach a specific set of goals. The following principles can be used to help guide the creation and maintenance of the roadmap.

把事情简单化

Keep It Simple

路线图的制定应尽可能少地拘泥于形式。找到快速而相关的方式向那些将使用路线图的人表达你的想法,使用低技术机制来收集路线图信息,并尽量减少在路线图制定研讨会上的任何头衔或角色识别。目标是完成手头的任务,并让参与者尽可能地参与路线图制定工作,以便他们能够做出重大贡献。

Roadmapping should be done with as little ceremony as possible. Find quick and relevant ways to express your ideas to those who will consume the roadmap, use low-tech mechanisms to gather the roadmap information, and minimize any title or role recognition within the roadmap-building workshops. The goal is to get to the task at hand and keep those participating in the roadmapping effort as engaged as possible so they can make significant contributions.

与企业合作

Partner with the Business

与企业合作对于任何路线图制定都至关重要。您可能能够从架构上规划出需要发生的事情,但如果没有企业的意见,您可能无法与其方向和愿景保持一致。实际上,这是您实现愿景所需的资金水平的唯一方法。(有关更多信息,请参阅第 1 章合作伙伴关系”。)

Partnering with the business is essential for any roadmapping exercise. You may be able to lay out architecturally what needs to happen, but without input from the business, you will likely not be aligned with its direction and vision. In practice, this is the only way you will achieve the funding levels that are needed to deliver the vision. (For more information, refer to Chapter 1, “Partnership.”)

动起来

Get Moving

有时,看着路线图可能会让人有点不知所措,因为有很多事情需要完成。缓解这种情况的最好方法之一就是立即开始。

Sometimes looking at a roadmap can seem a bit overwhelming because of everything that needs to be accomplished. One of the best ways to alleviate this is to just get started.

通常,一旦你开始行动,你的焦虑就会消失,手头上的工作会让你保持专注。一旦你开始取得进步,你会感到非常满意,因为你正在向更好的状态迈进,这会为你正在做的事情增添活力。

Usually, once you start moving, your anxiety tends to go away and the job at hand keeps you focused. Once you start making progress, there is a tremendous amount of satisfaction that you are moving toward a better state, and it will add energy to what you are doing.

玩得开心

Have Fun

一路上玩得开心。生命短暂。如果你不喜欢自己所做的事情,那就想办法让它变得更有趣。也许可以找个办法和别人合作。通常,和别人一起旅行会让工作看起来不那么像工作,乐趣就此开始。

Have some fun along the way. Life is short. If you don’t enjoy what you are doing, look for ways to make it more interesting. Maybe look for ways to partner with others. Usually, traveling along with others tends to make the work seem less like work, and the fun can begin.

如果你找不到任何方法让工作变得有趣,那就找点别的事做,然后再回来做。有时工作无法变得有趣,你只需要埋头苦干,把它做完。

If you can’t find any ways to make it interesting, look for something else to do and come back to it later. Sometimes the work can’t be made interesting, and you just need to put your nose to the grindstone and get it done.

没有目标的策略毫无意义

Strategies without Goals Are Pointless

有时,路线图练习开始时心中有策略,但没有明确的目标。发生这种情况时要小心。您需要有一个愿景和一套明确的目标,才能开始规划如何实现目标。如果这些还不够清楚,请花时间回顾并澄清这些信息或提出您对这项工作的担忧。在有“是什么”和“如何”之前,需要有一个“为什么”和“在哪里”。

Sometimes roadmapping exercises start with strategies in mind, but without a clear goal of what the destination is. Be cautious when this occurs. You need to have a vision and a clear set of goals in place to begin mapping out how to get there. If these are not well understood, take time to back up and get this information clarified or raise your concerns about the endeavor. There needs to be a “why” and a “where” before there can be a “what” and a “how.”

确定需要研究和创新的领域

Identify Areas That Require Research and Innovation

如果在制定路线图的过程中遇到了巨大的鸿沟,并且没有通往下一步的合理路径,那么所追求的目标可能更偏向于研究或创新。如果是这样,可能需要进行有针对性的研究或创新工作。(有关更多信息,请参阅第 10 章技术创新”。)

If you encounter a great chasm during roadmapping development and there is no logical path to the next step, the goal being pursued may be more research or innovation oriented. If this is the case, a focused research or innovation effort may be needed. (For more information, refer to Chapter 10, “Technology Innovation.”)

识别技能和知识差距

Identify Skill and Knowledge Gaps

在路线图绘制过程中,随着依赖关系的确定,组织通常可以清楚地了解其缺乏哪些技能和知识。这些信息可用于帮助确定培训需求、招聘需求或顾问机会。关键是尽早确定这些领域,以便在它们阻碍路线图的进展之前对其进行补救。

During the course of roadmapping, as dependencies are identified, it usually becomes clear what skills and knowledge the organization lacks. This information can be used to help determine training needs, hiring needs, or consultant opportunities. The key is to identify these areas early enough that you can remedy them before they block the progress of the roadmap.

灵活安排到达目的地的时间

Be Flexible on the Timing of Getting to the Destination

有时,我们所追求的最后期限只是我们自己强加的。

Sometimes the deadlines that we drive toward are simply self-imposed.

如果您和企业能够灵活地决定何时必须完成某件事,那么您就有机会在正确的时间做事,而不是强行处理尚未准备好的事情。有时,如果您等待,就会出现其他解决方案,或者可能会出现新的方法,使实现您的目标变得更加简单。

If you and the business can be flexible about when something must be done, you have the opportunity to do things at the right time versus forcing something that is really not ready to be addressed. Sometimes if you wait, other solutions will appear or new approaches may come to light that make achieving what you want much simpler.

愿意走一条新路

Be Willing to Take a New Route

路线图是实现特定目标或目标集的大致计划。挑战在于,大多数路线图都存在大量未知数和挑战,这些挑战介于您目前所处的位置和想要达到的目标之间。

A roadmap is an approximate plan for how to accomplish a particular goal or set of goals. The challenge is that with most roadmaps a significant number of unknowns and challenges lie between where you are and where you want to go.

有时,当你朝着目标前进时,会出现障碍。此时有几种选择:

Occasionally, when you are traveling down the road toward your goal, roadblocks appear. There are several choices at this point:

图像您是否会朝着自己前进的方向奋力前行?您可能已经投入了大量资金,并且感觉自己已经接近解决方案。

Do you barge forward in the direction you are traveling? You may already have a significant amount invested, and you feel you are close to a solution.

图像您是否能够设定一个时间限制,以便您愿意投入多少时间来继续当前的道路?这将使您能够限制附带损害并转向不同的解决方案。

Are you able to time-box how much time you are willing to invest in continuing on the current path? This will allow you to limit the collateral damage and get moving toward a different solution.

图像还有哪些其他选择是“在附近”的?通常有一些邻近的解决方案,它们可能与您最初计划的并不完全一致,但距离足够近,您可以在不产生重大成本或延迟的情况下继续推进。

What other choices are “in the vicinity”? There are often adjacent solutions that may not be exactly what you had originally planned but are close enough that you can move forward without significant cost or delay.

图像你是否需要后退一步,重新审视自己正在尝试做的事情?你真的需要这样做吗?还有其他途径可以让你达到最终目标,但又可以让你绕过而不是穿过当前的障碍?退后一步,从更广阔的视角看待障碍,通常可以让你知道如何接近目标。

Do you need to back up and take a fresh look at what you are attempting to do? Do you really need to do it? Are there other avenues that still get you to your end goal but allow you to go around versus through the current roadblock? Stepping back and taking a broader view of a roadblock can often give you ideas about how to approach the goal.

花点时间退后一步,清楚地考虑一下前进的最佳选择是什么,这可以帮助您以有效的方式朝着最终目标前进。

Taking the time to step back and clearly consider what your best alternatives to moving forward are can help keep you moving toward your ultimate goals in an effective manner.

不关注细节;关注目标和关键里程碑

It’s Not about the Details; Focus on the Destination and Key Milestones

对于几乎任何最终状态愿景,实现目标都有许多不同的途径。实现目标所涉及的细节往往不如实现目标那么重要。实现最终状态目标可能有一些重要的里程碑必不可少。

For nearly any end-state vision, there are many, many different paths to achieving the goal. The details involved in getting there are often not as important as simply getting there. There may be major milestones that are essential to hitting the end-state target.

关键在于专注于目标,并愿意改变实现目标的方式。有时,仅仅改变方法就能对实现目标所需的总体成本和努力产生巨大影响。

The key is to focus on the destination and be willing to vary how you are going to achieve the goal. Sometimes simply changing the approach can have a dramatic impact on the overall cost and effort required to achieve what you want.

最好的方法是

Some of the best ways to do this are to

图像 与其他建筑师交流。他们也许能告诉你他们如何处理类似的问题。

Talk to other architects. They may be able to tell you how they have approached similar problems.

图像 与企业的其他部门交流。这将帮助你了解你试图解决的问题的不同观点。

Talk to other areas of the business. This will help you get a sense of the different perspectives on the problem you are attempting to address.

图像 与一些高管交谈。他们通常对什么是必要的、什么是不必要的有着非常好的认识。

Talk to some of the executives. They usually have a remarkably good sense of what is essential and what is nonessential.

图像 与一些客户交谈。在您关注的领域工作的客户通常可以告诉您您所关注的事情是否与他们的工作有关。

Talk to some customers. Customers who work in the area you are focusing on can normally tell you if what you are concerned about has any relevance to what they do.

在几乎所有情况下,与他人交谈(合作)都会有所帮助

In nearly all situations, talking to others (collaborating) can help

图像明确你担心的是什么

Clarify what you are concerned about

图像提供替代方法或解决方案

Provide alternative approaches or solutions

图像简化或彻底消除问题

Simplify or eliminate problems altogether

图像确认你确实有一个棘手的问题

Confirm that you do indeed have a tough issue

无论反馈如何,您都会确认自己走在正确的道路上或需要做出一些调整。

Regardless of the feedback, you will have confirmation that you are on the right path or need to make some adjustments.

追随能给你带来能量的事物

Follow What Energizes You

如果您制定的路线图无法激发您的活力,那么您很可能走错了路,或者您的愿景与当前的业务(或战略)环境不相符。即使您走在正确的道路上,如果您对要实现的目标和愿景没有热情,您也不太可能激励其他人踏上这条旅程。

If the roadmap that you have developed doesn’t energize you, you are likely on the wrong path or have a vision that doesn’t fit the current business (or strategic) environment. Even if you are on the right path, if you don’t have passion about the goals and vision you are attempting to move toward, you are unlikely to inspire anyone else to want to take the trip.

找到让你充满活力的东西的关键是追随你热爱的事物。看看你想要完成什么,并尝试确定以下问题的答案:

The key to finding what energizes you is to follow what you are passionate about. Look at what you are trying to accomplish and try to determine the answers to these questions:

图像你对什么感兴趣?即使你很累,并且已经旅行了一段时间,你也可以轻松地追寻这些感兴趣的领域。

What is of interest to you? These areas of interest will be easy to go after even when you are tired and have been on the journey for a while.

图像什么事情你不感兴趣?这些事情很耗精力。如果你对这些事情不感兴趣,可以考虑其他选择。

What is not of interest to you? These are the energy drains. If you do not have interest in doing these things, consider alternatives.

图像有没有办法重新包装该物品以使其变得有趣?

Are there ways to repackage the item to make it interesting?

图像你能改变方法吗?

Can you change the approach?

图像您能委托这个区域吗?

Can you delegate this area?

图像有没有办法可以简单地将该物品完全消除?

Are there ways to simply eliminate the item altogether?

归根结底,你需要相信自己所做的事情。如果你不相信,你就不可能成功,这对你和实现路线图目标都是不利的。

At the end of the day, you need to believe in what you are doing. If you don’t, you are not likely to succeed, which is bad for you and for the delivery of the roadmap goals.

建筑师在路线图制定中扮演什么角色?

What Is an Architect’s Role in Roadmapping?

鉴于路线图的协作性和多学科性质,架构师很少是唯一参与其中的人。架构师通常擅长由于对产品、技术和基础设施有详细的了解,因此他们能够制定路线图。这些详细的知识有助于了解和理解存在的关键依赖关系,从而帮助确定主要里程碑的顺序。架构师通常会帮助起草路线图的第一份副本。

Given the collaborative and multidisciplinary nature of roadmaps, architects are rarely the only ones at the table. Architects normally excel at roadmapping due to their detailed product, technology, and infrastructure knowledge. This detailed knowledge lends itself to knowing and understanding key dependencies that exist, which in turn leads to helping sequence the major milestones. It is common for architects to help draft the first copies of the roadmap.

您可以在哪里使用路线图?

Where Can You Use Roadmaps?

路线图可用于描述许多不同的事情。这实际上取决于您想传达的未来计划。

Roadmaps can be used to describe many different things. It really depends on what you want to communicate about future plans.

路线图可用于

Roadmaps can be used for

图像资本规划

Capital planning

图像产品或平台能力

Product or platform capabilities

图像项目或产品集成

Project or product integrations

图像合规里程碑

Compliance milestones

图像主要发布里程碑

Major release milestones

使用路线图作为沟通工具,帮助其他人了解事情的发展方向以及实现目标的大致时间。这将有助于其他人规划何时可以利用路线图中确定的解决方案。

Use roadmaps as a communication vehicle to help others understand the direction where things are going and the general timing of when the goal will be delivered. This will help others plan when they can leverage the solutions identified in the roadmap.

路线图注意事项

Roadmap Considerations

“通过旅行,你会比查阅世界上所有的地图更了解一条路。”

“You’ll learn more about a road by traveling it than by consulting all the maps in the world.”

-匿名的

—Anonymous

“体验、旅行——这些本身就是一种教育。”

“Experience, travel—these are as education in themselves.”

—欧里庇得斯

—Euripides

在制定路线图的过程中,应该考虑许多因素,例如:

As you go through the process of developing a roadmap, there are a large number of considerations that should be taken into account, such as the following:

图像路线图是否显示了平台重构?关键迁移?重大技术变革?这些都是您需要考虑的重大成本驱动因素。

Does the roadmap show a replatformization? Key migrations? Major technology changes? These are all large cost drivers that you will need to have accounted for.

图像路线图是否与您的技术创新工作相一致?如果一致,则可能会产生一些自然的协同效应。

Does the roadmap align with your technology innovation efforts? If it does, it may allow for some natural synergies.

图像路线图是否能帮助您实现想要实现的收入模式?它是否能为您提供您所追求的优质或价值品牌?在寻求批准和资金实施路线图时,了解收入和价值影响至关重要。

Does the roadmap drive you toward the revenue model you want to achieve? Does it give you the premium or value brand you are shooting for? Understanding the revenue and value impacts is critical when seeking approval and funding for implementing the roadmap.

图像您的竞争对手在做什么?您能为他们创建一个可能的路线图吗?尝试了解您的竞争对手正在做什么以及可能做什么将让您了解您需要如何竞争以及您可能需要在路线图中解决哪些问题。

What are your competitors doing? Can you create a likely roadmap for them? Trying to get a sense of what your competitors are doing and are likely to do will give you a sense of how you will need to compete and what issues you may need to address in your roadmap.

图像其他人是否在会议上发布了他们的路线图?您收集的任何外部信息都可以帮助您了解其他人如何处理类似问题,或让您深入了解竞争对手。

Have others published their roadmaps at conferences? Any external information that you can gather will help you understand how others are approaching similar problems or give you insights into your competition.

图像贵公司中的其他人是否发布了路线图?如果他们与您整合或您与他们整合,您是否出现在他们的路线图上?如果没有,为什么没有?创造协同效应和遵循成功的模式可以帮助简化您实施路线图上项目的理由。

Have others in your company released a roadmap? If they are integrating with you or you with them, do you show up on their roadmap? If not, why not? Creating synergies and following successful patterns can help simplify your justification for implementing the items on your roadmap.

图像您的路线图是否因平台而异(移动、桌面和基于云)?了解平台如何影响您的工作可以帮助您根据所做工作的性质以平台友好或平台无关的方式构建架构。

Does your roadmap vary per platform (mobile versus desktop versus cloud based)? Understanding how platforms impact the work you do can help you structure the architecture in a manner that is platform friendly or agnostic depending on the nature of what you are doing.

图像是否有需要解决的监管问题?监管需求和要求可能会给实施路线图的工作增加大量成本。您需要尽早了解这些问题,并清楚地阐明如何解决这些问题。

Are there regulatory concerns that need to be addressed? Regulatory needs and requirements can add significant cost to the work of implementing a roadmap. You need to understand these early on and clearly articulate how you are addressing them.

图像是否有正在进行的认证?认证之间是否存在依赖关系?是否需要进行预先评估?提前了解路线图的认证依赖关系非常重要,这样您就可以在路线图中清楚地列出进行认证的要求和成本。

Are there certifications that are being pursued? Are there dependencies between the certifications? Are there pre-evaluations that need to be performed? Certification dependencies for a roadmap are very important to know up front so that you can include the requirements and costs of pursuing certifications clearly in your roadmap.

路线图很少会因已知事项而偏离轨道。未知事项会悄悄出现并破坏努力。密切关注路线图及其邻近事项。这些知识可能会让您洞察到您之前不知道的风险,并可以帮助您获得尽可能多的时间来减轻这些风险。

Roadmaps are rarely derailed by the known items. It is the unknowns that creep up and derail the effort. Keep a vigilant eye on the roadmap and its adjacencies. This knowledge may give you insights into risks of which you were previously unaware, and it can help give you the maximum amount of time possible to mitigate these risks.

路线图社会化

Roadmap Socialization

路线图是架构师必不可少的沟通工具。它为未来提供了可塑性,并非一成不变,而是提供了优先事项和关键依赖关系的感觉,有助于为当前决策提供依据。

Roadmapping is an essential communication tool for an architect. It allows for a malleable future, one that is not set in stone but instead gives a sense of priorities and a sense of key dependencies to help inform current decisions.

它还可以用作一种工具,让其他人了解何时使用新平台或了解何时他们的依赖关系可能需要改变。

It can also be used as a tool for others to understand when to engage with a new platform or to understand when their dependencies may need to change.

一旦制定了路线图,就需要在组织内部进行推广(见图11.2);这将有助于为所选择的方向获得认可。

Once the roadmap has been established, it needs to be socialized within the organization (see Figure 11.2); this will help establish buy-in for the chosen direction.

图像

图 11.2将您的路线图社会化可以帮助协调与您互动的所有群体的期望、允许澄清并允许进行调整。

Figure 11.2 Socializing your roadmap can help align the expectations of all the groups with which you interact, allow for clarifications, and allow for adjustments to be made.

路线图可以作为一种销售工具,表明您现在已经意识到了某些缺陷,展示了未来解决这些缺陷的替代方法,并展示了解决这些缺陷的大致时间范围。

The roadmap can act as a form of sales tool to show that you are aware of certain deficiencies today, to show alternative ways to address them in the future, and to show approximately the time frame in which they may be addressed.

关键在于,路线图能够引发对话,并提供一种收集其他人的见解(无论是积极的还是消极的)的方式。

The key is that a roadmap invites conversation and a way to gather other people’s insights (positive or negative).

路线图的某些部分可能并不明确。社交化可以带来您正在寻找的反馈:

It is likely that some of the roadmap may not be definitive. Socializing it invites the kind of feedback you are looking for:

图像我们的方向正确吗?方向正确与根据不同观点进行路线调整的需要之间存在着天然的矛盾。

Are we directionally correct? There is a natural tension between directionally correct and the need for course correction based on different perspectives.

图像它是否能激发人们的兴奋和热情?如果是,那么你可能走在了正确的道路上。

Does it invite excitement and passion? If it does, you are probably on the right track.

图像这会引起怀疑吗?这也许没问题,尽管你可能面临一个挑战要解决它。

Does it invite skepticism? This may be okay, although you may have a challenge on your hands to work through it.

在制定路线图的过程中,管理团队动态对于保持信息和批判性思维的开放和尊重至关重要。当存在一个相互尊重的环境时,人们自然会更愿意表达自己的真实想法。

Managing group dynamics during roadmap development is critical to keeping the flow of information and critical thinking open and respectful. When a respectful environment exists, people are more naturally willing to express their true thoughts.

路线图确实是一种沟通工具。它是一个计划。随着新事物的学习,路线图可以有所改变。当你回头看看你当时的想法以及你最终的成果时,它还能让你感受到历史。

A roadmap really is a communication tool. It’s a plan. It’s okay for it to change as new things are learned. It also gives you a sense of history when you look back and see what you were thinking and where you actually ended up.

庆祝取得的里程碑

Celebrating Milestones Achieved

一旦制定了路线图并且支持它的项目进展顺利,就花点时间庆祝里程碑的实现。

Once the roadmap has been established and the project or projects that support it are well under way, take the time to celebrate the milestones as they are achieved.

认识到您在成功的道路上取得了进步,可以让团队保持参与,并提供宝贵的反馈,告诉您去过哪里、您学到了什么教训以及您需要继续做什么以确保您完成旅程。

Recognizing that you are making progress on the road to success can keep the teams engaged and provide valuable feedback about where you have been, what lessons you have learned, and what you need to continue doing to ensure that you will complete the journey.

概括

Summary

路线图绘制之路始于

The path to roadmapping begins with

图像了解路线图的要素

Understanding the elements of roadmapping

图像利用路线图策略

Leveraging the roadmapping strategies

图像理解路线图原则

Understanding the roadmapping principles

图像了解路线图的最佳用途

Knowing where roadmaps are best used

图像警惕新风险

Being observant of new risks

图像路线图社会化

Socializing the roadmap

图像了解你在路线图制定中的角色

Knowing your role in roadmap development

图像庆祝里程碑式的成功

Celebrating milestone successes

对于架构师来说,路线图是一种必不可少的沟通工具,有助于确定需要完成的任务及其大致顺序。当业务和架构师对产品或平台的发展方向达成共识时,这种合作关系有助于推动业务的成功。

For architects, roadmaps are an essential communication tool for helping to establish a vision of what needs to be accomplished and its approximate sequencing. When the business and architecture are on the same page regarding where a product or platform is going, this partnership can help propel the success of the business.

参考

References

Highsmith, Jim。2009。《敏捷项目管理:创造创新产品》,第二版。Addison-Wesley。

Highsmith, Jim. 2009. Agile Project Management: Creating Innovative Products, Second Edition. Addison-Wesley.

Lafley, AG 和 Roger L. Martin。1999 年。《为赢而战:战略如何真正发挥作用》。《哈佛商业评论》出版社。

Lafley, A. G., and Roger L. Martin. 1999. Playing to Win: How Strategy Really Works. Harvard Business Review Press.

劳利,布莱恩。2007 年。《专家产品管理:产品管理和产品营销的高级技术、技巧和策略》。很高兴。

Lawley, Brian. 2007. Expert Product Management: Advanced Techniques, Tips and Strategies for Product Management and Product Marketing. Happy About.

Mckeown,Max。2012 年。《战略书:如何战略性地思考和行动以取得卓越成果》。FT Press。

Mckeown, Max. 2012. The Strategy Book: How to Think and Act Strategically to Deliver Outstanding Results. FT Press.

Nimmo, Geoffrey、Rich Scheer、Jack Eisenhower、Michael Radnor、Julie Glasgow、Louise Vickery、Catherine Farrell 和 Deborah Howard。2001 年。《企业竞争力技术规划:技术路线图制定指南》。澳大利亚工业、科学和资源部新兴产业科。

Nimmo, Geoffrey, Rich Scheer, Jack Eisenhower, Michael Radnor, Julie Glasgow, Louise Vickery, Catherine Farrell, and Deborah Howard. 2001. Technology Planning for Business Competitiveness: A Guide to Developing Technology Roadmaps. Australian Emerging Industries Section Department of Industry, Science and Resources.

Osterwalder, Alexander 和 Yves Pigneur。2010 年。《商业模式新生:梦想家、游戏规则改变者和挑战者的手册》。Wiley。

Osterwalder, Alexander, and Yves Pigneur. 2010. Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers. Wiley.

Phaal, Robert、Clare Farrukh 和 David Probert。2001 年。“技术路线图:将技术资源与业务目标联系起来。”剑桥大学技术管理中心。

Phaal, Robert, Clare Farrukh, and David Probert. 2001. “Technology Roadmapping: Linking Technology Resources to Business Objectives.” Centre for Technology Management, University of Cambridge.

Whalen, PJ 2007。“基于路线图的战略与技术规划。” 《研究技术管理》,5 月至 6 月,第 40-51 页。

Whalen, P. J. 2007. “Strategic and Technology Planning on a Roadmapping Foundation.” Research-Technology Management, May–June, pp. 40–51.

第 12 章 创业执行

Chapter 12. Entrepreneurial Execution

“成功的创业必备的五项技能是专注、辨别、组织、创新和沟通。”

“The five essential entrepreneurial skills for success are concentration, discrimination, organization, innovation, and communication.”

—迈克尔·法拉第

—Michael Faraday

“你的时间有限,所以不要浪费时间过别人的生活。不要被教条所束缚——教条就是活在别人的思想结果中。不要让别人的意见淹没你自己内心的声音。最重要的是,要有勇气听从你的内心和直觉。它们不知何故已经知道你真正想成为什么样的人。其他一切都是次要的。”

“Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma—which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.”

—史蒂夫·乔布斯

—Steve Jobs

“建立声誉需要 20 年,而毁掉它只需 5 分钟。如果你考虑到这一点,你就会采取不同的做法。”

“It takes 20 years to build a reputation and 5 minutes to ruin it. If you think about that, you’ll do things differently.”

-沃伦·巴菲特

—Warren Buffett

“选择一份你热爱的工作,你将一生中一天都不需要工作。”

“Choose a job you love and you will never have to work a day in your life.”

-孔子

—Confucius

“没有执行的愿景只是幻觉。”

“Vision without execution is hallucination.”

—托马斯·爱迪生

—Thomas A. Edison

您是否注意到,最具挑战性的问题需要您退后一步,抛开假设,从不同的角度仔细审视问题?这个过程需要您更深入地研究问题,思考您的方法是否正确,您的模型是否正确,是否有类似的解决方案,解决这个问题如何真正帮助客户,以及是否有其他方法可以解决问题。您与他人交谈,随着您沉浸在细节中,解决方案开始慢慢显现出来。

Have you ever noticed that the most challenging problems require you to step back, throw away your assumptions, and look at the problem carefully from a different perspective? This process requires you to dive deeper into the problem and contemplate whether your approach is right, if your models hold up correctly, if there are similar solutions to the problem, how solving this problem really helps the customer, and whether there are other ways to solve the problem. You talk to others and slowly the solution begins to reveal itself as you immerse yourself in the details.

创业执行力就是寻找解决问题的全新创新方式,正如理查德·布兰森所说,“让其他人的生活更美好”。正是这种追求让建筑师的生活成为一段激动人心的旅程。

Entrepreneurial execution is about finding new and innovative ways to solve problems and, as Richard Branson suggests, to “make other people’s lives better.” It is this quest that makes the life of an architect an exciting journey.

本章揭示了软件架构师所需的基本技能之一:将创业执行力应用于软件架构的能力。

This chapter unveils one of the essential skills needed by a software architect: the ability to apply entrepreneurial execution to software architecture.

创业执行力定义

Entrepreneurial Execution Defined

“创业就是不考虑当前控制的资源而追求机会。”

“Entrepreneurship is the pursuit of opportunity without regard to resources currently controlled.”

—霍华德·史蒂文森

—Howard Stevenson

“创业是解决问题的想法与实施该想法的行动的交汇。”

“Entrepreneurship is at the intersection of an idea that solves a problem and the actions taken to implement the idea.”

—兰迪·布拉斯

—Randy Blass

创业执行力是给建筑注入生命的活力。正是冒险精神和解决重大问题的精神激励着你日复一日地前行。正是你深知自己所做的一切将改变世界,并让其他人成就伟业。

Entrepreneurial execution is the vitality that breathes life into architecture. It is the spirit of adventure and of solving epic problems that inspires you day by day. It is knowing that what you do will make a difference in the world and will enable others to do great things.

创业执行的要素包括愿景、创新、解决问题、抛弃过去、坚持(不懈的动力)、发现改变世界的微小变化、识别适用于您自己的其他领域的模式、感知别人还没有看到的问题、认识到已经解决的问题、承担计算过的风险并交付成果。

The elements of entrepreneurial execution include vision, innovation, solving problems, throwing out the past, persistence (relentless drive), identifying the small change that changes the world, recognizing patterns from other domains that apply to yours, perceiving a problem that others don’t yet see, recognizing a solved problem, taking calculated risks, and delivering results.

创业执行是想法与行动相结合的过程(见图12.1)。

Entrepreneurial execution is where an idea meets action (see Figure 12.1).

图像

图12.1创业执行力

Figure 12.1 Entrepreneurial execution

正是探索精神——霍勒斯·格里利的“年轻人,向西走吧”——推动着企业家的执行。

It is the spirit of exploration—the “Go west, young man” of Horace Greeley—that drives entrepreneurial execution.

创业执行的要素

Elements of Entrepreneurial Execution

创业执行就是将创业精神带入您所做的工作,承担经过计算的风险并取得成果(见图12.2)。

Entrepreneurial execution is about bringing an entrepreneurial spirit to the work that you do, taking calculated risks, and delivering results (see Figure 12.2).

图像

图12.2创业执行的要素

Figure 12.2 Elements of entrepreneurial execution

创业执行,有时也称为公司内部的创业精神,可以帮助您取得创新成果并为公司增加重大价值。

Entrepreneurial execution, sometimes known as intrapreneurship within a corporation, can help you deliver results that bring innovation and add significant value to the company.

企业精神

Entrepreneurial Spirit

企业需要发展并为客户提供越来越多的价值。这种需求促使企业寻求体现企业家精神的团队来帮助实现价值最大化。企业家精神的本质是

Businesses need to grow and deliver an increasing amount of value to their customers. This need drives businesses to seek teams that embody an entrepreneurial spirit to help maximize that value. The essence of an entrepreneurial spirit is

图像 创新。这是发现新的和创造性的方式为客户提供价值的能力。它需要天生的好奇心和对周围事物的不断观察。(见第 10 章技术创新”)。

Innovation. This is the ability to discover new and creative ways to deliver value to customers. It requires a natural level of curiosity and constant observation of the things that surround you. (See Chapter 10, “Technology Innovation.”)

图像 激情。这是当你热爱自己所做的事情时所散发出的热情。激情可以为你提供必要的动力,让你保持动力并继续努力寻找解决方案。

Passion. This is the enthusiasm that you radiate when you love what you do. Passion can supply the fuel necessary to keep you motivated and continuing to drive toward a solution.

图像 在逆境中茁壮成长。俗话说,“需要是发明之母”。逆境可以帮助您找到新的解决方案,通过完善和调整您尝试创建的解决方案,您可以更好地为客户提供价值。

Thriving in adversity. As the old saying goes, “Necessity is the mother of invention.” Adversity can help drive you to new solutions by enabling you to better deliver value to your customers through refining and adapting the solutions you are trying to create.

图像 乐观。这是一种几乎不可阻挡的信念,无论周围有多少风暴,你都能到达你想去的地方。

Optimism. This is the almost unstoppable belief that you can get where you want to go regardless of the storms that are swirling around you.

图像 知识深度。当你长时间沉浸在一个问题领域,从几乎所有可能的有利角度看待它,并广泛研究这个问题领域的问题解决方案时,你自然会开始发展出其他人很少拥有的专业知识水平。这种知识深度使你能够快速浏览以该领域为中心的问题和对话,并展示你的专业知识。你知道这个领域什么是容易和已知的,什么是困难的问题和未知的。这种知识深度将成为你品牌的一部分。

Depth of knowledge. When you immerse yourself in a problem space for long periods of time, look at it from nearly every possible vantage point, and research solutions to issues in this problem space extensively, you naturally begin to develop a level of expertise that few others possess. This depth of knowledge enables you to quickly navigate around questions and conversations that are centered in this area and to demonstrate your expertise. You know what is easy and known in this area and what the hard problems and unknowns are. This depth of knowledge will become part of your brand.

图像 专注。这是一种排除干扰、集中精力于需要完成和交付的最重要的两三项任务的能力。这与 MVP(交付的必要条件)和产品/市场契合度(能够满足市场需求的产品)的概念直接相关。

Focus. This is the ability to block out the noise and concentrate on the top two or three items that need to be accomplished and delivered. This directly ties into the notion of an MVP (what is essential to deliver) and product/market fit (a product that can satisfy the needs of the market).

图像 相信你的直觉。这是关于学会倾听你的直觉并有信心遵循它。当所有事实都不容易获得时,它将帮助指导你的决定。

Trusting your gut feeling. This is about learning to listen to your gut feeling and having the confidence to follow it. It will help guide your decisions when all the facts are not readily available.

图像 可信度。这是与那些将投资金融资本或分配资源来支持你的想法的人建立信任。你需要真诚,言行一致,才能赢得信誉。你需要兑现你的承诺。

Credibility. This is about establishing trust with those who will invest financial capital or allocate resources to your ideas. You need to be authentic and have integrity in what you say and do to gain credibility. You need to deliver on what you commit to.

计算风险承担

Calculated Risk Taking

项目总是存在风险。挑战在于如何最大限度地降低风险的影响,以便您能够改变、发展和改进,同时又不让核心资产面临风险。

There are always risks to projects. The challenge is to minimize the impact of the risks in a manner that allows you to change, grow, and improve while not putting your core assets at risk.

有多种方法可以实现这一点:

There are a variety of ways to accomplish this:

图像 向他人学习。花时间收集那些已经走过或试图走这条路的人的经验。经验是最好的老师,从他人的经验中学习可以缩短你的成功之路。

Learn from others. Take the time to gather the experiences of others who have traveled or tried to travel down this path. Experience is a great teacher, and learning from others’ experiences can shorten your path to success.

图像 利用 POC(概念验证)。POC是帮助确定解决方案可行性或帮助指导决策过程以决定要遵循哪条路径的绝佳工具。使用它们可以让您尽早、悄悄地失败、学习并调整方向,而不会对项目造成重大影响。关键是要快速完成它们并尽量减少所需的工作量。

Utilize POCs (proofs of concept). POCs are great tools to help determine the viability of solutions or to help navigate the decision-making process about which path to follow. Using them allows you to fail, learn, and adjust your direction early and quietly without a major impact to the project. The key is to do them quickly and minimize the effort required.

图像 启用并使用 A/B 测试。在您尝试衡量客户兴趣的领域,A/B 测试可以帮助您比较解决方案的两个或多个变体,并确定哪些最能吸引客户的兴趣。关键是确保您每次只改变解决方案的一个元素。收集和比较用户行为的结果可以让您深入了解哪种方法最有效。

Enable and use A/B testing. In areas where you are trying to measure customer interest, A/B testing can help you compare two or more variances of a solution and determine which ones attract the most interest. The key is to make sure you vary only one element of the solution at a time. Gathering and comparing the results of the users’ behavior can give you great insights into which approach or approaches work best.

图像 尽量减少所需投资。如果您可以将所需投资降至可以承受损失的程度(请参阅后面的原则部分),那么您就可以承担风险,而不会危及您生存到另一天的能力。这是 MVP 背后的关键思想之一。挑战在于确保仍有足够的价值让您的客户使用该解决方案。

Minimize the required investment. If you can minimize the required investment to the point where a loss is affordable (see the section on principles that follows), you can take the risk and not endanger your ability to survive to another day. This is one of the key ideas behind an MVP. The challenge is to ensure that there is still enough value to engage your customers with the solution.

你可能会注意到这里有一个规律。关键是行动、衡量、学习和重复。你需要始终牢记最终目标,以确保你朝着正确的方向前进。否则,一系列小决定可能会让你走上错误的方向。

You may notice a pattern here. The key is to do, measure, learn, and repeat. You always need to keep your end goal in mind to ensure that you are heading in the right direction. Otherwise, a series of small decisions can leave you pointing in the wrong direction.

从架构角度来看,关键在于能够衡量关键绩效指标,并实现低成本的系统变更,而不会影响系统的整体设计或质量。您需要以数据为驱动。

From an architecture perspective, the key is to enable the ability to measure key performance indicators and enable low-cost system changes without impacting the overall design or quality of the system. You want to be data driven.

取得成果

Delivering Results

企业对架构师最重要的要求之一就是交付成果的能力。与企业密切合作,指导产品或平台的创建,并做出务实的日常决策,通过 MVP 等技术为客户带来价值,这些对于持续交付成果至关重要。

One of the most import things a business needs from an architect is the ability to deliver results. Working closely with the business to navigate the creation of a product or platform and making the pragmatic daily decisions necessary to deliver customer value through techniques such as MVP are essential to delivering results consistently.

创业执行原则

Entrepreneurial Execution Principles

架构的目标是使企业实现其目标。大多数企业的主要目标之一就是发展。以下原则体现了企业家精神,可以帮助调整架构决策,以成功发展业务。

The goal of architecture is to enable the business to achieve its goals. One of the chief goals of most businesses is to grow. The following principles embody the spirit of entrepreneurship and can help align architectural decisions to lean toward successfully growing the business.

可承受损失原则

Affordable Loss Principle

可承受损失原则是研究做出或不做出此决定时可能造成的损失,并确定您是否可以承受这种损失,无论是财务、声誉、上市时间、可扩展性还是其他类型的损失。从架构角度来看,这是许多非功能性需求决策(如灾难恢复、安全性和身份管理)的驱动因素。需要注意的是,随着业务或产品的增长,可承受损失的确定可能会随时间而变化。

The Affordable Loss Principle is looking at what the potential loss would be if this decision is made or not made and making a determination of whether or not you can afford that loss, whether it be financial, reputation, time to market, scalability, or some other type of loss. From an architecture perspective, this is what drives many of the nonfunctional requirement decisions such as disaster recovery, security, and identity management. It is important to note that what is determined to be an affordable loss may change over time as the business or product grows.

柠檬水原则

Lemonade Principle

柠檬水原则意味着要从不同的角度看待眼前的问题。也许它们不是问题,而是等待被认可的机会(化腐朽为神奇);例如,当你试图制定路线图时,你到达了一个似乎没有已知解决方案的点,无法从 A 点到达 B 点。这可能是许多不同的组织和公司都遇到的问题,解决它可能是你应该研究和构建的真正产品或解决方案。这可能是一个转型的机会。需要注意的是,业务是为了实现结果,而不一定是基于最初预期的结果。

The Lemonade Principle means taking a different perspective on the problems at hand. Maybe instead of being problems, they are really opportunities that are waiting to be recognized (making lemonade out of lemons); for instance, when you are trying to build a roadmap and you reach a point where there appears to be no known solution for how to get from point A to point B. This may be a problem that many different organizations and companies are encountering, and solving it may be the real product or solution that you should research and build. It may be an opportunity to pivot. It is important to note that the business is about delivering results, not necessarily the results that were originally intended.

拼布被子原理

Patchwork Quilt Principle

拼布被子原则意味着解决您当前投资者(那些支付账单的人)的问题。采用这种方法的好处是,您解决了一个关键问题——让某个人足够关心您正在做的事情,愿意给您钱。他们已经做出承诺,他们给您的建议可能是自私的,但这些建议是真实的,而不仅仅是意见。一般来说,如果您能让至少一个人对您的解决方案真正满意,那么您就成功了。

The Patchwork Quilt Principle means solving the problems of your current set of investors (those who are footing the bills). The advantage of taking this type of approach is that you have one of the critical issues solved—having someone who cares enough about what you are doing to give you money. They are already committed, and the advice they give you may be self-serving, but it will be real, and not just opinions. Generally speaking, if you can make at least one person truly happy with your solution, you are off to the races.

在平台开发过程中,您当前的投资者通常是那些愿意为平台的新功能提供资金的人。他们不仅仅是提出建议(“如果……那就太好了。”);他们真正承诺投入有限的投资资金并使用您的平台。让这些忠诚的合作伙伴指导并帮助您制定愿景。

During platform development, your current investors are often those who are willing to fund new features in the platform. They aren’t just making suggestions (“It would be really nice if . . .”); they are making a real commitment to spend limited investment dollars and use your platform. Let these committed partners guide and help craft your vision.

手中鸟原则

Bird-in-the-Hand Principle

鸟在手原则意味着利用你拥有的东西来驱动和创造解决方案。总是有那个很棒的新奇事物,如果你只有它(更好地称为“闪亮物体综合症”),你就能够轻松生产出所寻求的系统。从架构的角度来看,你能否使用现有技术(有时新技术的操作性不是很好),或者当前的开发人员能否学习所需的技能(有时现有的领域知识对于解决新问题至关重要)?关键是尽可能地利用你所拥有的东西;它通常比你想象的更有价值。

The Bird-in-the-Hand Principle means using the things you have to drive and create solutions. There is always that great new shiny object that if you only had it (better known as “shiny object syndrome”), you would be able to easily produce the system that is being sought. From an architecture perspective, can you use an existing technology (sometimes the new technologies don’t operationalize very well), or can the current development staff learn the needed skills (sometimes existing domain knowledge is critical to solving the new problems)? The key is to leverage what you have to the greatest extent possible; it usually has more value than you think.

飞行员在飞机上的原理

Pilot-in-the-Plane Principle

飞行员原则意味着未来不是某种必然趋势的结果,而是人类选择和行动的结果。飞行员的行动或不作为将对飞行的成功产生最直接的影响。好消息是,你有能力决定你的未来。作为一名建筑师,你的行动或不作为将直接影响项目的成败;你有机会帮助塑造未来。

The Pilot-in-the-Plane Principle means that the future is not the outcome of some inevitable trend, but rather is the outcome of human choices and actions. It is the pilot in the plane who will have the most direct effect on the success of the flight based on the pilot’s actions or inactions. The great news is that you have the ability to determine your future. As an architect, your actions or inactions will directly impact the success or failure of a project; you get the opportunity to help craft that future.

抓住时机

Seize the Moment

对于企业家来说,没有比现在更好的时机了。事实上,这是你唯一可以保证拥有的时机。行动可以帮助你参与创新并为客户开发新的解决方案。

For entrepreneurs, there is no time like the present. In reality, this is the only time you are guaranteed to have. Action is something that can help you engage in innovating and developing new solutions for customers.

人们往往倾向于等待更多细节出现后再开始,但实际上你需要开始行动,这可以启动学习过程。它还会给你时间去失败和重新开始几次。

There is often a tendency to want to wait for just a few more details to arrive and then start, but in reality you need to start doing, and that can enable the learning process to begin. It will also give you time to fail and restart a few times.

对于建筑师来说,通过开始建模问题来探索某个领域,“玩”技术,开始以视觉方式表示所获得的知识,并获取有关特定解决方案的想法的反馈,可以抓住时机并在竞争中取得先机。

For architects, beginning to explore an area by beginning to model problems, “playing” with technology, visually beginning to represent knowledge that is acquired, and getting feedback on the thoughts surrounding a particular solution can enable the moment to be seized and a jump on the competition to be afoot.

追随你的激情

Follow Your Passion

追随你的激情(你从根本上感兴趣的领域)是你内心的指南针。它自然而然地专注于那些可以长期保持你兴趣的领域。它将使你踏上的旅程看起来像一场冒险,有些日子非常令人兴奋,有些日子有点可怕,但总的来说,这条路提供了实现你命运的机会。

Following your passion (the areas that fundamentally interest you) is your internal compass. It is naturally focused on areas that can maintain your interest for the long haul. It will make the journey you are on seem like an adventure with some days being very exciting, some days being a bit scary, but overall the path presents the opportunity to fulfill your destiny.

如果你不确定自己的兴趣是什么,请考虑以下几点:

If you are not sure what your passions are, consider the following:

图像您自然而然地喜欢谈论哪些领域?

What areas do you naturally like to talk about?

图像在哪些方面当你与他们交往时你会忘记时间?

In what areas do you lose track of time when you are engaged with them?

图像当你做白日梦时,你的思绪会自然地飘向何处?

To what areas does your mind naturally drift off when you are daydreaming?

图像当您追求哪些领域时,您会感到满足?

What areas give you a sense of fulfillment when you are pursuing them?

这些是你热爱的领域。想想你需要做些什么来找到追求这些领域的方法。当你追求你热爱的领域时,你的日常工作将变得更加愉快。

These are your areas of passion. Think about what you need to do to find ways to pursue these areas. Your daily grind will become a much more enjoyable experience when you pursue the areas you are passionate about.

大多数与你互动的人可能都能轻易告诉你你热衷于什么。你可能有很多关于这个的信息领域。您知道优点。您知道缺点。您知道什么有效,什么无效。您确实拥有丰富的信息。

Most people who interact with you can probably easily tell you what you are passionate about. You are likely overflowing with information about that area. You know the pros. You know the cons. You know what works and what doesn’t work. You truly have a wealth of information.

人们无需你多说就能看出你的热情,因为这就是你。

People can tell your passion without you having to state it because it’s who you are.

学会转变

Learn to Pivot

转变是认识到当前路径行不通,需要改变的能力。拥有信心和能力来纠正路线是创业精神的基本要素。你从 A 点到 B 点所规划的路线不太可能奏效。学会在遇到障碍时转变是必要的(见图12.3)。

Pivoting is the ability to recognize that the current path is not working and change is required. Having the confidence and ability to make course corrections is an essential element of entrepreneurship. It is unlikely that the exact course you have planned for going from point A to point B will work. Learning to pivot when roadblocks are encountered is a necessity (see Figure 12.3).

图像

图 12.3障碍其实就是关键机遇。

Figure 12.3 Roadblocks are simply pivot opportunities.

当你需要转变时,花点时间看看大机会在哪里(你的最终状态、你的愿景),根据所有这些调整你的路线。掌握信息并了解整个行业的发展方向;这样做可以让你继续前进。

When you need to pivot, take the time to see where the big opportunity lies (your end state, your vision), adjust your course based on all of the information you have, and understand where the overall industry is heading; doing so can keep you moving forward.

挑战在于你是否愿意改变,并放弃你可能已经投入大量资金的东西。当您需要探索转型时,以下是一些关键的考虑因素:

The challenge is being willing to change and to leave behind what you potentially have made a large investment in. Here are a few key considerations when you need to explore pivoting:

图像为什么当前的方法不起作用?

Why is the current approach not working?

图像哪些假设无效?

What assumptions are not valid?

图像这个行业是否发生了根本性的变化?

Has anything fundamentally changed in the industry?

图像其他人是否也遇到了与这种架构方法类似的问题?

Are other people having similar problems with this architectural approach?

图像您的愿景是否需要根据所学到的现实情况进行改变?

Does your vision need to change based on the realities that have been learned?

图像新方法有何不同之处可以取得成功?

What is different about the new approach that will enable success?

图像这一转变将如何影响你的客户?

How will the pivot affect your customers?

一旦你习惯了调整方向,并成功克服了弯路和挑战,你跳进去应对任何困难的信心就会大大增强。你会意识到事情出错是正常的,只要处理好就行了。

Once you are comfortable with making course adjustments and successfully navigating the detours and challenges you face, your overall confidence to jump in and take on whatever is thrown your way goes up dramatically. You realize it is okay for things to go wrong and just deal with it.

边做边学(犯错),但要经济高效

Learn by Doing (Making Mistakes), but Do It Cost-Effectively

在软件的世界里,没有比实际做自己想做的事情更好的学习方法了。你不一定需要做所有的事情,但你需要充分地使用软件,这样你才能对软件有感觉

In the world of software, there really is no better way to learn than to actually do what you desire to get done. You don’t necessarily need to do everything, but you do need to play around with the software enough that you have a sense of

图像它的功能是什么

What its capabilities are

图像有效之处

Where it is effective

图像不尽如人意的地方

Where it doesn’t work well

图像你有哪些假设不成立

What assumptions you have that don’t hold up

图像存在哪些你之前不知道的新风险

What new risks exist that you were previously unaware of

图像存在哪些你之前不知道的新依赖关系

What new dependencies exist that you were previously unaware of

图像软件需要改进的地方

Where the software needs to be improved

图像你希望做的事是否可行

Whether what you hope to do is even possible

体验式学习的第一个挑战是明确目标,了解您想要学习的内容,并确定您愿意投入多少时间。通过在概念验证或峰值中设定时间和财务限制,您将能够以有限的投资获得所需的关键学习。

The first challenge of experiencing learning is to establish clear goals about what you are seeking to learn and determine how much time you are willing to invest. By time-boxing and financially boxing in a proof of concept or spike, you will be able to gain the key learnings that are needed with limited investment.

第二个挑战是确保获得必要的资金来了解你正在寻求的东西。这项工作可能由于规模不足而无法资本化,而且企业可能没有将这项工作作为资本规划的一部分。只要对交付风险有明确的目标,并稍加坚持,你就可以确保一部分预算用于此类活动。

The second challenge is to secure the funding necessary to learn what you are seeking. This work may not be capitalizable due to its lack of size, and the business may not have planned on this effort as part of its capital planning. With clear objectives about risk to delivery and a little persistence, you can secure some portion of the budget to allow for these kinds of activities.

通过花时间犯错、学习和再试,您可以减轻与特定方向相关的风险,并帮助企业相信这种解决问题的新方法是可行的。这种低成本的消除风险和增加交付可能性的方法将帮助您拥有为企业注入创新和创业精神所需的持久力。

By taking the time to make mistakes, to learn, and to try again, you can mitigate the risks associated with a particular direction and help gain the business’s confidence that this new way of approaching a problem is viable. This low-cost approach to eliminating risk and increasing the likelihood of delivery will help you have the staying power you need to inject innovation and entrepreneurship into your business.

寻求反馈

Seek Feedback

建立实现愿景的路线的最佳方法之一是创建反馈回路(见图12.4)。你需要定期获得关于

One of the best ways to establish a route to your vision is to create a feedback loop (see Figure 12.4). You regularly need to get feedback about

图像你的位置

Where you are

图像已完成的工作

What has been completed

图像你要去哪儿

Where you are going

图像什么不起作用

What is not working

图像正在发挥作用

What is working

图像如何改进

How things could be improved

图像

图 12.4即使目标发生变化,反馈循环也会让您与目标保持一致。

Figure 12.4 Feedback loops will keep you aligned with your goals even when they change.

这些反馈可能来自客户、供应商和员工。从不同角度获取反馈有助于您做出决策。确保以电子方式记录收到的所有反馈,以便将来轻松查找。

This feedback can come from customers, vendors, and employees. Getting feedback from different perspectives can help ground your decision making. Make sure you electronically capture all of the feedback you receive so that it will be easy to find in the future.

您需要仔细聆听对方所说的内容,无论是正面的还是负面的。通过仔细聆听反馈,您有机会将反馈用作 GPS 系统,并让其帮助您到达目的地。

You want to listen closely to what is being said, both positive and negative. By listening closely to feedback, you have the opportunity to use feedback like a GPS system and let it help guide you to your destination.

瀑布式开发方法的挑战在于,实际上没有机会获得反馈,并且渐进式改进无法成为不断改进和完善解决方案的源泉。

The challenge with a waterfall approach to development is that there really is no opportunity for feedback to occur and for incremental improvements to be a source of constant refinement and perfection of the solution.

当您使用反馈循环来帮助纠正路线时,请牢记您的最终状态,以帮助避免无法帮助您实现更大目标的优化。

As you use feedback loops to help with course corrections, keep your end state in mind to help avoid optimizations that don’t move you toward your larger goals.

寻求杠杆

Seek Leverage

很少有解决方案是全新的,解决方案的每个组件都是首次构建的。独特性和创新性来自于解决方案组件的独特组合(其中大多数组件以前存在),并且只添加以前不存在的解决方案。利用杠杆作用使您有机会以经济高效的方式满足您的业务需求(见图12.5)。

It is rare that any solution is completely new and that every component of the solution is a first-time build. The uniqueness and innovation come from the unique combination of the components of the solution (most of which previously existed) and adding only those things for which a solution did not previously exist. Leveraging gives you the opportunity to meet your business needs in a cost- and time-effective manner (see Figure 12.5).

图像

图 12.5杠杆

Figure 12.5 Leverage

利用现有组件,尤其是开源组件和其他商品,可以

Leveraging existing components, especially open-source and other commodities, can

图像大幅降低您的总体拥有成本。

Significantly reduce your overall cost of ownership.

图像让您更快地找到可行的解决方案。

Allow you to get to a working solution more quickly.

图像让您专注于您提供独特价值的领域。

Allow you to focus on the areas where you provide unique value.

图像利用他人的工作和经验。你可以站在他们的肩膀上。

Leverage the work and experience of others. You can stand on their shoulders.

图像限制你的潜在解决方案集。你需要考虑你放弃了什么,引入了什么新风险,以及添加了什么新依赖关系。

Limit your potential set of solutions. You need to think about what you are giving up, what new risks you are introducing, and what new dependencies you are adding.

杠杆既有好处也有坏处(通常好处更多)。与所有决策一样,您需要花一些时间仔细考虑做出此选择会得到什么和失去什么。大多数决策都可以在以后撤销。但是,如果它是架构的核心基础部分,那么以后将其替换掉可能是一项代价高昂的工作。

Leverage can be both good and bad (generally more on the good side). As with all decisions, you need to spend some time thinking through what you are gaining and losing in making this choice. Most decisions can be reversed later. However, if it is a core foundational piece of the architecture, swapping it out later may be a costly endeavor.

有时,您可以在系统内隔离这些类型的组件,以便以后更改它们不会对所有内容产生负面影响。在架构中使用这些形式的间接性可能非常有效。但是,间接性级别过多可能会导致混乱和普遍缺乏理解。请谨慎使用间接性。

Sometimes you can isolate these types of components within the system so that changing them later does not negatively affect everything. Using these forms of indirection can be very powerful in an architecture. However, having too many levels of indirection can cause confusion and a general lack of understanding. Use indirection with caution.

具有创业执行力的架构设计

Architecting with Entrepreneurial Execution

“我不知道成功的关键是什么,但失败的关键在于试图取悦所有人。”

“I don’t know the key to success, but the key to failure is trying to please everybody.”

—比尔·考斯比

—Bill Cosby

以企业家精神执行架构既有趣又令人兴奋。它确实也会带来反对者。您需要选择适合您的客户和业务的道路。企业家原则可以作为需要做出的决策的衡量标准,并允许您继续将新事物引入架构堆栈,以与业务保持一致的方式创造新功能,从而让您在市场上获得竞争优势。

Architecting with entrepreneurial execution is fun and exciting. It does bring out naysayers as well. You need to pick the path that is right for your customers and for the business. The entrepreneurial principles can be a measuring stick for the decisions that need to be made and allow you to move forward in bringing new things into the architectural stack in a way that aligns well with the business and creates new capabilities to give you a competitive advantage in the marketplace.

概括

Summary

创业之路始于

The road to entrepreneurial execution begins with

图像了解创业执行的要素

Understanding the elements of entrepreneurial execution

图像企业精神

Entrepreneurial spirit

图像计算风险承担

Calculated risk taking

图像取得成果

Delivering results

图像以创业执行原则为指导

Using entrepreneurial execution principles as guidance

图像可承受损失原则

Affordable Loss Principle

图像柠檬水原则

Lemonade Principle

图像拼布被子原理

Patchwork Quilt Principle

图像手中鸟原则

Bird-in-the-Hand Principle

图像飞行员在飞机上的原理

Pilot-in-the-Plane Principle

图像把握时机

Seize the moment

图像追随你的激情

Follow your passion

图像学会转变

Learn to pivot

图像通过实践和犯错来学习

Learn by doing and making mistakes

图像寻求反馈

Seek feedback

图像寻求杠杆

Seek leverage

图像具有创业精神的架构执行

Architecting with entrepreneurial execution

对我来说,从事新产品开发、创新和改进产品以及开发与业务相关的架构既充满挑战又令人兴奋。以企业家精神运营可以保持技术堆栈的更新,并允许开发为业务带来重大价值的全新领域。

For me, working with new product development, innovating on new and improved products, and developing business-relevant architectures are challenging and exciting. Operating with an entrepreneurial spirit keeps the technology stack current and allows for areas of greenfield development that provide significant value to the business.

参考

References

Bank, Steve。2012 年。《创业者手册:打造卓越公司的分步指南》。K&S Ranch。

Bank, Steve. 2012. The Startup Owner’s Manual: The Step-by-Step Guide for Building a Great Company. K&S Ranch.

Bank, Steve。2013 年。《通往顿悟的四个步骤》,第二版。K&S Ranch。

Bank, Steve. 2013. The Four Steps to the Epiphany, Second Edition. K&S Ranch.

Blekman, Thomas。2011 年。《企业效能:管理者应该向企业家学习什么》。K&S Ranch。

Blekman, Thomas. 2011. Corporate Effectuation: What Managers Should Learn from Entrepreneurs. K&S Ranch.

Croll, Alistair 和 Benjamin Yoskovitz。2013 年。精益分析:利用数据更快地打造更出色的初创企业。O'Reilly Media。

Croll, Alistair, and Benjamin Yoskovitz. 2013. Lean Analytics: Use Data to Build a Better Startup Faster. O’Reilly Media.

哈佛商业评论。2011 年。《哈佛商业评论:如何成为一名成功的企业家》。哈佛商业评论出版社。

Harvard Business Review. 2011. Harvard Business Review on Succeeding as an Entrepreneur. Harvard Business Review Press.

Holiday,Ryan。2013 年。《增长黑客营销:公关、营销和广告的未来入门指南》。作品集。

Holiday, Ryan. 2013. Growth Hacker Marketing: A Primer on the Future of PR, Marketing, and Advertising. Portfolio.

Johnson, Kevin D. 2013.企业家思维:精英企业家的 100 个基本信念、特征和习惯。Johnson Media Inc.

Johnson, Kevin D. 2013. The Entrepreneur Mind: 100 Essential Beliefs, Characteristics, and Habits of Elite Entrepreneurs. Johnson Media Inc.

Kuratko, Donald F. 2008。创业:理论、过程和实践。Cengage Learning。

Kuratko, Donald F. 2008. Entrepreneurship: Theory, Process, and Practice. Cengage Learning.

Ries, Eric。2011 年。《精益创业:当今企业家如何利用持续创新打造极其成功的企业》。Crown Business。

Ries, Eric. 2011. The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Business.

Sarasvathy, Saras D. 2009.效果:创业专业知识的要素。Edward Elgar Publishing。

Sarasvathy, Saras D. 2009. Effectuation: Elements of Entrepreneurial Expertise. Edward Elgar Publishing.

Siroker,Dan 和 Pete Koomen。2013 年。A /B 测试:将点击转化为客户的最有效方式。Wiley。

Siroker, Dan, and Pete Koomen. 2013. A/B Testing: The Most Powerful Way to Turn Clicks into Customers. Wiley.

结语:总结

Epilogue: Bringing It All Together

本书和我的第一本书(软件架构师的 12 项基本技能)重点关注成为一名成功的软件架构师所需的技能。

This book and my first book (12 Essential Skills for Software Architects) focus on the skills needed to become a successful software architect.

可以从两个主要维度来考虑这些技能:

These skills can be thought of in two key dimensions:

图像 软技能。软技能是与人交往的能力(这是我第一本书的重点)。

Soft skills. Soft skills are the ability to relate to people (the focus of my first book).

图像 技术技能。技术技能是指根据具体情况应用和推动技术的能力(本书的重点)。

Technical skills. Technical skills are the ability to contextually apply and drive technology (the focus of this book).

软技能和技术技能的结合将使您能够实现您的架构目标(见图E.1)。

It is the combination of soft and technical skills that will enable you reach your architectural goals (see Figure E.1).

图像

图 E.1架构成功方程式

Figure E.1 Equation for architectural success

关于技能发展的思考

Thinking about Skill Development

当你考虑要在哪些方面加强技能培养时(如图E.2所示),请花点时间思考以下几点:

As you consider what areas of skill development to work on (as shown in Figure E.2), take time to think about the following:

图像你们的技能有何交集?

Where do your skills intersect?

图像你的优势和弱势是什么?

What are your strengths and weaknesses?

图像您在哪些方面收到过他人的反馈?

In what areas have you received feedback from others?

图像

图 E.2技能发展领域

Figure E.2 Areas of skills development

当你在处理技能发展问题时,人们往往会关注弱点。而应该关注的是你的自然优势,以及那些阻碍你职业发展的弱点。

When you are dealing with skill development, there is a tendency to focus on weaknesses. The focus should rather be on your natural strengths and only those areas of weakness that are major roadblocks to your moving forward in your career.

最后的想法

Final Thought

总的来说,这对我来说是一段有趣的旅程。我发现我喜欢写作——至少是写我热衷的话题。这是我在大学时从未想象过的事情,我相信我的教授也会同意这种观点。

Overall, it has been an interesting journey for me. I discovered that I enjoy writing—at least on topics that I am passionate about. This is something I could never have imagined in college, and I am sure my professors would agree with that sentiment.

这些书让我结识了优秀的新朋友、与老朋友重聚,并获得了去做一些原本不可能实现的事情的机会。

These books have enabled me to connect with great new people, reconnect with old friends, and gain opportunities to do things that would never have surfaced otherwise.

我的建议是抓住机会,尝试新事物,你会对自己所能取得的成就感到惊讶。

My advice is to take chances, try new things, and you will be surprised at what you are able to accomplish.

祝您在建筑事业上好运连连!

Good luck and best wishes on your architectural endeavors!

指数

Index

A

A

收购项目,估算,86

Acquisition projects, estimating, 86

平台开发顾问委员会,150151

Advisory boards, for platform development, 150151

可承受损失原则,276

Affordable Loss Principle, 276

敏捷开发和治理,209210

Agile development, and governance, 209210

结盟

Alignment

架构审查委员会,1011

architecture review board, 1011

选择合作伙伴,79

choosing partners, 79

社区评论,1011

community review, 1011

决策,11

decision making, 11

影响者,10

influencers, 10

共同愿景,1112

shared vision, 1112

利益相关者,89

stakeholders, 89

思想领袖,9

thought leaders, 9

值得信赖的顾问,10

trusted advisers, 10

替代融资,8687

Alternative financing, 8687

歧义,处理,217

Ambiguity, dealing with, 217

API 探索者, 154

API explorers, 154

API,设计,147148

APIs, designing, 147148

应用

Applications

平台开发过程中的整合,163

consolidating during platform development, 163

与平台相比,估计,93

vs. platforms, estimation, 93

方法评论,206

Approach reviews, 206

估算的架构方法。请参阅 估算、架构方法

Architectural approach to estimation. See Estimation, architectural approach

建筑交流。另请参阅 演示文稿

Architectural communication. See also Presentations

上下文图,185

context diagrams, 185

领域模型, 184

domain models, 184

执行概览图,187

executive overview diagrams, 187

硬件环境图,187188

hardware environment diagrams, 187188

在构思和发现阶段,184

in the ideation and discovery phases, 184

逻辑架构图,186187

logical architecture diagrams, 186187

流程图,184185

process diagrams, 184185

RAID(风险、假设、问题、依赖关系),188191

RAID (risks, assumptions, issues, dependencies), 188191

系统边界,显示,185

system boundaries, showing, 185

系统组件,显示,186187

system components, showing, 186187

用户界面模型,186

user interface mock-ups, 186

工作流程,显示,184185

work flow, showing, 184185

架构问题

Architectural concerns

可用性,178179

availability, 178179

业务连续性,196197

business continuity, 196197

改变制度,182

changing the system, 182

兼容性, 182

compatibility, 182

灾难恢复,196198

disaster recovery, 196198

可扩展性,181182

extensibility, 181182

维护窗口, 179

maintenance windows, 179

开源许可,195196

open-source licensing, 195196

停电,179

power outages, 179

重复性,182

repeatability, 182

可扩展性,180181

scalability, 180181

安全,201202

security, 201202

服务器故障, 179

server failure, 179

场地损失,179

site loss, 179

站点中断, 179

site outages, 179

软件兼容性问题, 179

software compatibility issues, 179

存储故障, 179

storage failure, 179

存储已满,178179

storage full, 178179

可持续性182-183

sustainability, 182183

第三方集成,182183

third-party integration, 182183

建筑电梯演讲,126

Architectural elevator speech, 126

架构概述,平台开发,154

Architectural overviews, platform development, 154

建筑视角。另请参阅特定视角

Architectural perspectives. See also specific perspectives

定义,170

definition, 170

概述, 171

overview, 171

建筑原理

Architectural principles

延误成本,176177

cost of delay, 176177

KISS(保持简单,愚蠢),175176

KISS (Keep It Simple, Stupid), 175176

迪米特法则,172

Law of Demeter, 172

满足用户期望,170172

meeting user expectations, 170172

最小化依赖关系,172

minimizing dependencies, 172

狭义的服务定义,175

narrowly defining services, 175

奥卡姆剃刀,175176

Occam’s Razor, 175176

反馈原理,177

Principle of Feedback, 177

最后责任时刻原则,176177

Principle of Last Responsible Moment, 176177

最省力原则,172173

Principle of Least Effort, 172173

最少知识原则,172

Principle of Least Knowledge, 172

最小意外原则,170172

Principle of Least Surprise, 170172

自然直觉原理,171

Principle of Natural Intuition, 171

机会成本原则,173175

Principle of Opportunity Cost, 173175

简约原则,175176

Principle of Parsimony, 175176

单一职责原则,175

Principle of Single Responsibility, 175

解决眼前问题,172173

solving immediate problems, 172173

齐普夫定律,172173

Zipf’s Law, 172173

架构审查委员会,1011

Architecture review board, 1011

建筑评论

Architecture reviews

方法,206

approach, 206

发展,207

development, 207

企业,207

enterprise, 207

行政人员,206207

executive, 206207

治理领域,206-207

governance areas, 206207

硬件,207

hardware, 207

同行,207

peer, 207

假设

Assumptions

建立,6869

establishing, 6869

RAID(风险、假设、问题、依赖关系),6869

RAID (risks, assumptions, issues, dependencies), 6869

自动化、治理原则,203

Automation, governance principles, 203

可用性、架构问题,178179

Availability, architectural concerns, 178179

B

讨价还价,估计101

Bargaining, in estimation, 101

BCP(业务连续性计划),197198

BCPs (business continuity plans), 197198

大数据趋势,252253

Big data trends, 252253

手中鸟原则,277

Bird-in-the-Hand Principle, 277

博客,225

Blogging, 225

建筑、治理领域,208209

Building, governance area, 208209

商业案例评估,82

Business case estimate, 82

商业案例验证估计,82

Business case validation estimates, 82

业务连续性、架构问题,196197

Business continuity, architectural concerns, 196197

业务连续性规划、治理原则,196198

Business continuity planning, governance principles, 196198

商业发现,52

Business discovery, 52

业务目标

Business goals

245对齐研究

aligning research with, 245

发现您的业务,52

discovery of your business, 52

平台开发生态系统,153

platform development ecosystems, 153

战略路线图原则,262

strategic roadmapping principles, 262

业务部门驱动的研究,246

Business unit driven research, 246

C

C

计算风险承担,275276

Calculated risk taking, 275276

功能

Capabilities

API,设计,147148

APIs, designing, 147148

概念模型,147

conceptual models, 147

定义,146

defining, 146

确定目标,145-146

defining objectives, 145146

定义,144

definition, 144

建立,6970

establishing, 6970

杠杆作用,146147

leveraging, 146147

忠实客户,242243

Captive customers, 242243

屈服

Caving in

决策,124

decision making, 124

估计,101

in estimation, 101

解决问题, 124

resolving issues, 124

改变系统,架构问题,182

Changing the system, architectural concerns, 182

估算清单,99

Checklists for estimation, 99

云能力趋势,241

Cloud capability trends, 241

代号、战略路线图、258

Code names, strategic roadmapping, 258

编码、治理领域,208209

Coding, governance areas, 208209

合作

Collaboration

成为一名导师,2223

becoming a mentor, 2223

带来价值,22

bringing value to the table, 22

提供反馈,23

giving feedback, 23

走向创意,24

moving toward ideation, 24

寻求导师,2324

seeking a mentor, 2324

作为机会之源,24

as a source of opportunity, 24

战略路线图,258

strategic roadmapping, 258

加强伙伴关系,24-25

strengthening partnerships, 2425

承诺

Commitment

概念形成,6263

concept formation, 6263

过度承诺,​​1315

overcommitment, 1315

时间管理,127128

time management, 127128

沟通。参见 建筑沟通文档演示视觉模型

Communication. See Architectural communication; Documentation; Presentations; Visual models

社区评论,1011

Community review, 1011

公司资产,在平台开发过程中整合,157158

Company assets, consolidating during platform development, 157158

兼容性、架构问题,182

Compatibility, architectural concerns, 182

竞争、学习,4850

Competition, studying, 4850

复杂性,减少,7273

Complexity, reducing, 7273

概念演变

Concept evolution

相邻机会,75

adjacent opportunities, 75

概念完整性,7375

conceptual integrity, 7375

概念的历史,7172

history of the concept, 7172

多种视角,7273

multiple perspectives, 7273

降低复杂性,7273

reducing complexity, 7273

概念形成

Concept formation

概念图,64

conceptual diagrams, 64

上下文图,64

context diagrams, 64

顾客参与,6566

customer involvement, 6566

领域模型, 59 , 61

domain models, 59, 61

早期参与,65

early involvement, 65

识别主要概念,60

identifying main concepts, 60

倾听顾客的意见,6566

listening to the customer, 6566

做出承诺,6263

making a commitment, 6263

问题范围,6062

problem scope, 6062

说“不”,6263

saying no, 6263

说顾客的语言,5960

speaking the customer’s language, 5960

视觉模型,6367

visual models, 6367

概念生命周期,58

Concept life cycle, 58

概念具体化

Concept reification

假设,建立,6869

assumptions, establishing, 6869

客户参与,7071

customer involvement, 7071

客户痛点,70

customer pain points, 70

客户角色,建立,6970

customer roles, establishing, 6970

定义,67

definition, 67

基本能力,建立,6970

essential capabilities, establishing, 6970

实验,68

experimentation, 68

MVP(最小可行产品),67

MVPs (minimum viable products), 67

POC(概念证明),6869

POCs (proofs of concept), 6869

重新评估产品概念,6970

reevaluating the product concept, 6970

概念图,64

Conceptual diagrams, 64

概念完整性,7375

Conceptual integrity, 7375

平台能力的概念模型,147

Conceptual models for platform capabilities, 147

概念化。另请参阅 构思

Conceptualization. See also Ideation

概念生命周期,58另请参阅特定阶段

concept life cycle, 58. See also specific stages

早期参与,57

early involvement, 57

概述, 55

overview, 55

顾虑。请参阅 架构顾虑

Concerns. See Architectural concerns

会议

Conferences

出席,220

attending, 220

出席,223

presenting at, 223

职业发展,132133

for professional development, 132133

趋势,240

trends, 240

可配置性硬编码,165

Configurability vs. hard coding, 165

整合

Consolidating

平台开发过程中的应用程序,163

applications during platform development, 163

平台开发期间的公司资产,157158

company assets during platform development, 157158

语境

Context

商业,17

business, 17

为伴侣的成功做出贡献,2021

contributing to your partner’s success, 2021

决策制定,52

for decision making, 52

守护关系,20

guarding relationships, 20

人数越多越安全,21

safety in numbers, 21

技术决策,1819

technical decisions, 1819

呈现信息时,1920

when presenting information, 1920

上下文图,64,185

Context diagrams, 64, 185

承包商

Contractors

担任领导职务,119

in leadership positions, 119

对于平台开发,158

for platform development, 158

合同关系合伙关系,估计8889

Contractual relationships vs. partnerships, in estimation, 8889

企业创新实验室,247

Corporate innovation labs, 247

成本估算。请参阅 估算

Cost estimation. See Estimation

成本

Costs

延迟,建筑原理,176177

of delay, architectural principle, 176177

治理原则,196198

of disruption, governance principles, 196198

平台开发,161162

platform development, 161162

省钱,228

saving money, 228

可信度,275

Credibility, 275

客户的反馈意见

Customer feedback

分析, 243

analyzing, 243

获取,242243

getting, 242243

客户查询,趋势分析,242

Customer inquiries, trend analysis, 242

顾客参与

Customer involvement

概念形成,6566

concept formation, 6566

概念具体化,7071

concept reification, 7071

客户痛点,70

Customer pain points, 70

客户角色,建立,6970

Customer roles, establishing, 6970

客户。另请参阅 客户的发现平台的用户

Customers. See also Discovery, of customers; Users of platforms

俘虏,242243

captives, 242243

粉丝242

fans, 242

关注者,243

followers, 243

平台开发过程中的交互,153

interaction with during platform development, 153

视角,3537

perspective of, 3537

作为平台用户148、153

as platform users, 148, 153

主题,识别,5051

themes, identifying, 5051

培训课程。学习,37

training courses. studying, 37

功利主义者,242

utilitarians, 242

价值,识别,4748

value, identifying, 4748

顾客竞争知识趋势,241

Customers’ competitive knowledge trends, 241

顾客的语言

Customer’s language

概念形成,5960

concept formation, 5960

学习,42

learning, 42

NPD(新产品开发),34

NPD (new product development), 34

D

仪表板,226227

Dashboards, 226227

数据中心,114115

Data centers, 114115

数据锁定、治理原则,203

Data lock-in, governance principles, 203

数据可移植性、治理原则,203

Data portability, governance principles, 203

截止日期、时间管理,130

Deadlines, time management, 130

决策

Decision making

对齐,11

alignment, 11

商业背景,52

business context for, 52

一致性,122124

consistency, 122124

知道何时屈服,124

knowing when to cave, 124

由于数据和时间有限,130

with limited data and time, 130

协调的作用,11

role of alignment, 11

坚守立场,125

standing your ground, 125

技术决策作为政治决策,1819

technical decisions as political decisions, 1819

代表团130-131

Delegation, 130131

交付项目

Delivering projects

建筑师的职责范围,119120

areas of responsibility for architects, 119120

专注于问题领域,118

concentrating on problem areas, 118

担任领导职务的承包商,119

contractors in leadership positions, 119

消除依赖关系,116

eliminating dependencies, 116

走动管理,120121

managing by walking around, 120121

管理期望,116117

managing expectations, 116117

掌握开发过程,117

mastering the development process, 117

不透明,118119

nontransparency, 118119

与项目经理合作,116

partnering with project managers, 116

取得成果,276

Delivering results, 276

演示,平台开发,154

Demos, platform development, 154

依赖项

Dependencies

消除,116

eliminating, 116

最小化,172

minimizing, 172

RAID(风险、假设、问题、依赖关系),116

RAID (risks, assumptions, issues, dependencies), 116

依赖意识、战略路线图、257

Dependency awareness, strategic roadmapping, 257

部署

Deployment

治理领域,208-209

governance areas, 208209

平台开发,159160

platform development, 159160

设计评审,208

Design reviews, 208

开发流程,掌握,117

Development process, mastering, 117

发展评论,207

Development reviews, 207

开发人员。查看 团队

Development staff. See Teams

图表

Diagrams

概念,64

conceptual, 64

上下文, 64 , 185

context, 64, 185

执行概述, 187

executive overview, 187

硬件环境,187188

hardware environment, 187188

逻辑架构, 186187

logical architecture, 186187

过程,184185

process, 184185

简化,126

simplifying, 126

表达不同意见,125

Disagreement, voicing, 125

灾难恢复

Disaster recovery

建筑问题,196198

architectural concerns, 196198

治理原则,196-198

governance principles, 196198

发现。另请参阅 战略研究

Discovery. See also Strategic research

定义,30

definition, 30

键为3031另请参阅特定键

keys to, 30, 31. See also specific keys

发现客户

Discovery, of customers

访问产品, 36

accessing products, 36

客户的语言, 34 , 42

customer’s language, 34, 42

客户视角,3537

customer’s perspective, 3537

采访关键人物,36

interviewing key people, 36

市场营销部,3237

marketing department, 3237

与客户会面,指导方针,3743

meeting with customers, guidelines for, 3743

NDA(保密协议),38

NDAs (nondisclosure agreements), 38

NPD(新产品开发),3435

NPD (new product development), 3435

与客户合作,3237

partnering with customers, 3237

销售部,3237

sales department, 3237

研究营销材料,3536

studying marketing materials, 3536

支持电话, 36

support calls, 36

技术,3537

techniques for, 3537

培训课程,37

training courses, 37

发现市场

Discovery, of the market

客户主题,5051

customer themes, 5051

客户价值,4748

customer values, 4748

指导方针,43-46

guidelines, 4346

研究竞争对手,4850

studying the competition, 4850

客户的客户,4647

[the]customer’s customer, 4647

发现您的业务

Discovery, of your business

决策的商业背景,52

business context for decision making, 52

目标和战略,52

goals and strategies, 52

资产剥离、平台开发、158

Divestitures, platform development, 158

文档,平台开发,159另请参阅 演示文稿

Documentation, platform development, 159. See also Presentations

领域模型

Domain models

建筑交流,184

architectural communication, 184

概念形成59,61

concept formation, 59, 61

路过估计,8081

Drive-by estimation, 8081

E

生态系统、平台开发

Ecosystems, platform development

咨询委员会,150151

advisory boards, 150151

与公司目标保持一致,153

aligning with company goals, 153

相互冲突的要求, 153

conflicting requirements, 153

整合应用程序,163

consolidating applications, 163

整合公司资产,157158

consolidating company assets, 157158

承包商,158

contractors for, 158

成本,161162

costs, 161162

定义,144

definition, 144

部署,159160

deployment, 159160

资产剥离,158

divestitures, 158

文档, 159

documentation, 159

资金,149150

funding, 149150

培养合适的团队,158161

grooming the right team, 158161

知识产权管理160-161

intellectual property management, 160161

与最终客户的互动,153

interaction with end customers, 153

利用共同资产,163

leveraging common assets, 163

利用其他平台,163

leveraging other platforms, 163

合并和收购,157

mergers and acquisitions, 157

移动支持,163164

mobile support, 163164

加入新合作伙伴,153154

on-boarding new partners, 153154

监督150-151

oversight, 150151

平台认知和接受度,154155

platform awareness and acceptance, 154155

平台集成,162164

platform integration, 162164

平台管理,155158

platform management, 155158

平台所有权,148155

platform ownership, 148155

平台用户, 148 , 153

platform users, 148, 153

政治问题150-151

political issues, 150151

参与前的材料,152

pre-engagement materials, 152

质量管理,162另请参阅 技术卓越

quality management, 162. See also Technology excellence

需求管理,152153,159

requirements management, 152153, 159

指导委员会150-151

steering committees, 150151

及时反馈,153

timely feedback, 153

整合类型,163

type of integration, 163

用户界面, 163

user interface, 163

教育。请参阅 增强您的技能组合专业知识

Education. See Enhancing your skill set; Know-how

电子邮件,时间管理,131

E-mail, time management, 131

电子邮件警报、趋势、241

E-mail alerts, trends, 241

增强你的技能。另请参阅 专业知识

Enhancing your skill set. See also Know-how

成为专家,135

becoming an expert, 135

每天做技术性的事情,134135

doing technical things every day, 134135

当地会议和用户组,132133

local conferences and user groups, 132133

掌握开发过程,117

mastering the development process, 117

导师制项目,131132

mentorship programs, 131132

与其他建筑师坐在一起,134

sitting with other architects, 134

拓展你的舒适区,135

stretching your comfort zone, 135

技术论坛,132

technology forums, 132

企业评论,207

Enterprise reviews, 207

创业执行

Entrepreneurial execution

架构师,282283

architecting with, 282283

计算风险承担,275276

calculated risk taking, 275276

可信度,275

credibility, 275

定义,272

definition, 272

取得成果,276

delivering results, 276

知识深度,274

depth of knowledge, 274

元素,273276

elements of, 273276

焦点,274

focus, 274

创新,274

innovation, 274

乐观,274

optimism, 274

激情,274

passion, 274

逆境中茁壮成长,274

thriving on adversity, 274

相信你的直觉,274

trusting your gut, 274

创业执行、原则

Entrepreneurial execution, principles

可承受损失原则,276

Affordable Loss Principle, 276

手中鸟原则,277

Bird-in-the-Hand Principle, 277

追随你的激情,278279

following your passion, 278279

边做边学,280

learning by doing, 280

柠檬水原则,276277

Lemonade Principle, 276277

拼布被子原理,277

Patchwork Quilt Principle, 277

飞行员在飞机上的原理,277

Pilot-in-the-Plane Principle, 277

旋转,279280

pivoting, 279280

寻求反馈,281282

seeking feedback, 281282

寻求杠杆,282283

seeking leverage, 282283

抓住时机278

seizing the moment, 278

闪亮物体综合症,277

shiny object syndrome, 277

创业精神,定义,272

Entrepreneurship, definition, 272

估计

Estimation

商业案例估计,82

business case estimate, 82

商业案例验证, 82

business case validation, 82

驾车经过,8081

drive-by, 8081

治理领域,204205

governance areas, 204205

细节程度,8082

level of detail, 8082

概述,8084

overview, 8084

项目背景, 82

project context, 82

目的,8082

purpose of, 8082

快速确定尺寸,8081

quick sizing effort, 8081

大致数量级,81

rough order of magnitude, 81

估算、建筑方法

Estimation, architectural approach

商业原理, 89

business rationale, 89

外部研究,96

external research, 96

需要考虑的问题,92

issues to consider, 92

可利用的组件,9697

leverageable components, 9697

营销方法,8990

marketing approach, 8990

组织结构95-96

organizational structure, 9596

概述,8284

overview, 8284

伙伴关系合同关系,8889

partnerships vs. contractual relationships, 8889

平台应用程序,93

platforms vs. applications, 93

重复估计,9091

repeat estimates, 9091

重新平台化,9394

re-platforming, 9394

风险管理91-93

risk management, 9193

涉及的技术,9495

technologies involved, 9495

估算原则

Estimation principles

避免消极情绪,100

avoiding negativity, 100

讨价还价,101

bargaining, 101

警惕外部估计,101

beware of external estimates, 101

屈服,101

caving in, 101

设计决策的灵活性,100

flexibility in design decisions, 100

了解难题,100

knowing the hard problem, 100

了解目标价格,101102

knowing the targeted price, 101102

说“是”的机会,100101

opportunities to say yes, 100101

提供选择,100

providing options, 100

调度, 100 , 102

scheduling, 100, 102

相信你的直觉,101

trusting your gut, 101

估算过程

Estimation process

对于收购项目,86

for acquisition projects, 86

替代融资86-87

alternative financing, 8687

吸引高管,103104

engaging executives, 103104

融资、业务流程、8788

financing, business process, 8788

对于集成项目,86

for integration projects, 86

杠杆点,103

leverage points, 103

对于维护项目,85

for maintenance projects, 85

对于迁移项目,85

for migration projects, 85

对于新/增强项目,8586

for new/enhancement projects, 8586

涉及人员,102

personnel involved, 102

管道工艺,8485

pipeline process, 8485

项目中心融资, 87

project centric financing, 87

与高管一起审查估计,126

reviewing estimates with executives, 126

出售估价,104106

selling the estimate, 104106

支出封套融资,8687

spending envelope financing, 8687

时间轴,102

timeline, 102

项目类型,8586

types of projects, 8586

验证估计,105106

validating the estimate, 105106

视觉呈现,103

visual presentation, 103

估算策略

Estimation strategies

专注于关键问题,98

concentrating on the critical, 98

制定清单,99

developing checklists, 99

估计反馈回路,98

estimation feedback loops, 98

管理层和组织的支持,99

executive and organizational buy-in, 99

组织耦合和凝聚力,98

organization coupling and cohesion, 98

规划未知和挑战,97

planning for unknowns and challenges, 97

PowerPoint 演示文稿, 99

PowerPoint presentations, 99

现实的期望,98

realistic expectations, 98

执行概览图,187

Executive overview diagrams, 187

高管评论,206207

Executive reviews, 206207

高管。另请参阅 管理

Executives. See also Management

参与评估过程,103104

engaging in the estimation process, 103104

估计买入,99

estimation buy-in, 99

实验,68

Experimentation, 68

可扩展性、架构问题,181182

Extensibility, architectural concerns, 181182

外部伙伴关系,26

External partnerships, 26

F

F

风扇,242

Fans, 242

常见问题解答,平台开发,152

FAQs, platform development, 152

反馈

Feedback

给予,23

giving, 23

在平台开发过程中,153

during platform development, 153

寻求,281282

seeking, 281282

来自客户的反馈

Feedback, from customers

分析, 243

analyzing, 243

获取,242243

getting, 242243

反馈回路

Feedback loops

估计,98

for estimation, 98

技术创新原则,250

technology innovation principles, 250

融资

Financing

替代方案,8687

alternatives, 8687

业务流程,8788

business process, 8788

治理领域,206

governance areas, 206

平台开发,149150

platform development, 149150

以项目为中心, 87

project centric, 87

支出信封,8687

spending envelope, 8687

技术创新原则,247248

technology innovation principles, 247248

关注客户,243

Follower customers, 243

资金。参见 融资

Funding. See Financing

模糊前端。参见 概念化

Fuzzy front end. See Conceptualization

G

G

目标、业务

Goals, business

245对齐研究

aligning research with, 245

发现您的业务,52

discovery of your business, 52

平台开发生态系统,153

platform development ecosystems, 153

战略路线图原则,262

strategic roadmapping principles, 262

目标、质量、164

Goals, quality, 164

治理

Governance

敏捷开发,209210

and agile development, 209210

定义,194

definition, 194

治理领域

Governance areas

建筑评论,206207

architecture reviews, 206207

建筑,208209

building, 208209

编码, 208209

coding, 208209

部署,208209

deploying, 208209

估计,204205

estimates, 204205

金融,206

finance, 206

整合,208209

integrating, 208209

IT 合规性,206

IT compliance, 206

法律合规性,206

legal compliance, 206

管理问题,205206

management concerns, 205206

监测,208209

monitoring, 208209

概述, 204

overview, 204

投资组合管理,205

portfolio management, 205

采购,205

procurement, 205

产品线,205206

product lines, 205206

监管合规性,206

regulatory compliance, 206

测试,208209

testing, 208209

治理原则

Governance principles

自动化,203

automation, 203

业务连续性规划,196198

business continuity planning, 196198

中断成本,196198

cost of disruption, 196198

数据锁定,203

data lock-in, 203

数据可移植性,203

data portability, 203

灾难恢复,196198

disaster recovery, 196198

IAM(身份和访问管理),202203

IAM (identity and access management), 202203

整合,203

integration, 203

利用共同能力,199200

leveraging common capabilities, 199200

业务部门之间松散耦合,198199

loose coupling between business units, 198199

开源使用,195196

open-source usage, 195196

最小权威原则,202

Principle of Least Authority, 202

最小特权原则,202

Principle of Least Privilege, 202

监管合规,200201

regulatory compliance, 200201

安全,201202

security, 201202

供应商锁定,194195

vendor lock-in, 194195

培养技术人才。另请参阅 指导

Grooming technical talent. See also Mentoring

聘用最优秀的人才,133134

hiring the best people, 133134

当地会议和用户组,132133

local conferences and user groups, 132133

导师制项目,131132

mentorship programs, 131132

技术论坛,132

technology forums, 132

指导原则、平台开发

Guiding principles, platform development

可配置性硬编码,165

configurability vs. hard coding, 165

定义,144

definition, 144

杠杆作用,165

leverageability, 165

线性可扩展性,166

linear scalability, 166

卓越运营,165

operational excellence, 165

平台纠缠,166

platform entanglement, 166

平台蔓延,166

platform sprawl, 166

质量目标,164

quality goals, 164

冗余架构, 166

redundant architecture, 166

技术债务,165

technical debt, 165

升级至现有技术,166

upgrading to current technologies, 166

H

H

黑客马拉松,参加/主办,221

Hack-a-thons, attending/hosting, 221

硬编码可配置性,165

Hard coding vs. configurability, 165

硬件能力趋势,241

Hardware capability trends, 241

硬件环境图,187188

Hardware environment diagrams, 187188

硬件评论,207

Hardware reviews, 207

聘用最优秀的人才,133134

Hiring the best people, 133134

I

IAM(身份和访问管理),202203

IAM (identity and access management), 202203

构思阶段。另请参阅 概念化

Ideation phase. See also Conceptualization

建筑交流,184

architectural communication, 184

定义,56

definition, 56

在伙伴关系中,57

in partnerships, 57

-ilities。请参阅 架构问题

-ilities. See Architectural concerns

行业趋势,239240

Industry trends, 239240

影响者,10

Influencers, 10

创新、创业执行、274

Innovation, entrepreneurial execution, 274

仪器仪表,226227

Instrumentation, 226227

一体化

Integration

治理领域,208-209

governance areas, 208209

治理原则,203

governance principles, 203

平台开发,162164

platform development, 162164

类型,163

types of, 163

集成项目,估算,86

Integration projects, estimation, 86

知识产权

Intellectual property

管理,160161

management, 160161

趋势,241

trends, 241

引入新技术,250251

Introducing new technologies, 250251

IT 合规性,206

IT compliance, 206

K

KISS(保持简单,愚蠢),175176

KISS (Keep It Simple, Stupid), 175176

专业知识。另请参阅 增强你的技能组合

Know-how. See also Enhancing your skill set

申请到你的域名,215217

applying to your domain, 215217

博客,225

blogging, 225

会议,出席,220

conferences, attending, 220

会议,演讲,223

conferences, presenting at, 223

货币214,218-221

currency, 214, 218221

处理歧义,217

dealing with ambiguity, 217

定义,214

definition, 214

开发模型,217

developing a model, 217

卓越214,221-229

excellence, 214, 221229

黑客马拉松,参加/主持,221

hack-a-thons, attending/hosting, 221

仪器仪表,226227

instrumentation, 226227

利用在线资源,221

leveraging online resources, 221

在线社区,225226

online communities, 225226

开源项目,225226

open-source projects, 225226

性能调优,227228

performance tuning, 227228

POC (概念证明)220,222

POCs (proofs of concept), 220, 222

项目管理,228229

project management, 228229

相关性,214,215-218

relevance, 214, 215218

省钱,228

saving money, 228

缩放,227228

scaling, 227228

销售,217218

selling, 217218

软件构建过程, 229

software construction process, 229

教一堂课,224

teach a class, 224

用户组,作为资源,222223

user groups, as resources, 222223

审查,217218

vetting, 217218

写一本书,224225

writing a book, 224225

专业知识、技术知识

Know-how, technology knowledge

获取,218221

acquiring, 218221

评估技术,215217

evaluating technologies, 215217

专业知识驱动的架构,230231

Know-how-driven architecture, 230231

大号

L

实验室区域,249250

Lab areas, 249250

迪米特法则,172

Law of Demeter, 172

边做边学,280

Learning by doing, 280

法律合规性,206

Legal compliance, 206

柠檬水原则,276277

Lemonade Principle, 276277

杠杆,寻求,282283

Leverage, seeking, 282283

杠杆作用、平台开发、165

Leverageability, platform development, 165

可利用的组件估计为9697

Leverageable components, in estimation, 9697

利用

Leveraging

能力,146147

capabilities, 146147

共同资产,163

common assets, 163

共同能力,199200

common capabilities, 199200

在线资源,221

online resources, 221

其他平台,163

other platforms, 163

解决方案,115

solutions, 115

现场演示

Live demos

获取专业知识,223

acquiring know-how, 223

平台开发, 154

platform development, 154

逻辑架构图,186187

Logical architecture diagrams, 186187

业务部门之间松散耦合,198199

Loose coupling between business units, 198199

M

维护项目,估算,85

Maintenance projects, estimating, 85

维护窗口、架构问题,179

Maintenance windows, architectural concerns, 179

下小注,248

Making small bets, 248

管理层。另请参阅 高管

Management. See also Executives

定义,110

definition, 110

关键责任领域,110另见具体领域

key areas of responsibility, 110. See also specific areas

管理问题、治理领域,205206

Management concerns, governance areas, 205206

走动式管理,120121

Managing by walking around, 120121

管理期望,116117

Managing expectations, 116117

管理你的时间。另请参阅 时间分配

Managing your time. See also Time allocation

避免电子邮件,131

avoiding e-mail, 131

定义你的角色,128

defining your role, 128

授权,130131

delegating, 130131

限制会议出席人数,130

limit meeting attendance, 130

限制承诺,128

limiting commitments, 128

在限制条件下做出决策,130

making decisions under constraints, 130

亲自会面,131

meeting in person, 131

优先排序,128130

prioritizing, 128130

设定最后期限,130

setting deadlines, 130

市场,发现

Market, discovery of

客户主题,5051

customer themes, 5051

客户价值,4748

customer values, 4748

指导方针,43-46

guidelines, 4346

研究竞争对手,4850

studying the competition, 4850

客户的客户,4647

[the]customer’s customer, 4647

营销方法估算,8990

Marketing approach to estimation, 8990

营销材料,发现客户,3536

Marketing materials, discovery of customers, 3536

衡量战略路线图,259

Measuring strategic roadmapping, 259

会议

Meetings

与客户,指导方针,3743

with customers, guidelines for, 3743

限制你的出席,130

limiting your attendance, 130

时间管理,130

time management, 130

指导,2223。请参阅 培养技术人才

Mentoring, 2223. See also Grooming technical talent

导师制项目,131132

Mentorship programs, 131132

并购、平台开发、157

Mergers and acquisitions, platform development, 157

迁移项目,估算,85

Migration projects, estimating, 85

移动支持,平台开发,163164

Mobile support, platform development, 163164

移动趋势,253

Mobile trends, 253

建模概念。请参阅 可视化模型

Modeling concepts. See Visual models

模型,开发,217

Models, developing, 217

监测、治理领域,208209

Monitoring, governance areas, 208209

MVP(最小可行产品),67

MVPs (minimum viable products), 67

N

NDA(保密协议),38

NDAs (nondisclosure agreements), 38

估计负数,100

Negativity in estimation, 100

网络平台,趋势,253

Networked platforms, trends, 253

新建/改进项目,估算,8586

New/enhancement projects, estimating, 8586

NPD(新产品开发),3335

NPD (new product development), 3335

O

目标,定义,145146

Objectives, defining, 145146

奥卡姆剃刀,175176

Occam’s Razor, 175176

加入新合作伙伴,153154

On-boarding new partners, 153154

在线社区,知识来源,225226

Online communities, source of know-how, 225226

在线资源,利用,221

Online resources, leveraging, 221

公开披露,1213

Open disclosure, 1213

开放式创新挑战,247

Open innovation challenges, 247

开源许可、架构问题,195196

Open-source licensing, architectural concerns, 195196

开源项目,技术诀窍的来源,225226

Open-source projects, source of know-how, 225226

开源工具、趋势、240

Open-source tools, trends, 240

开源使用、治理原则,195196

Open-source usage, governance principles, 195196

卓越运营,165

Operational excellence, 165

运营支持,114115

Operations support, 114115

乐观,274

Optimism, 274

组织结构及估算,9596

Organizational structure, and estimation, 9596

组织

Organizations

耦合和内聚,98

coupling and cohesion, 98

估计买入,99

estimation buy-in, 99

过度承诺

Overcommitment

避免,1314

avoiding, 1314

应对,1415

coping with, 1415

监督、平台开发,150151

Oversight, platform development, 150151

所有权,平台,148155

Ownership, platforms, 148155

P

与高管合作

Partnering with executives

避免打断,127

avoid interrupting, 127

信心,127

confidence, 127

得到老板的支持,127

having your boss’s back, 127

通过透明度管理风险125-126

managing risk through transparency, 125126

审查估计数,126

reviewing estimates, 126

简化演示图,126

simplifying presentation diagrams, 126

伙伴关系。另请参阅 关系

Partnerships. See also Relationships

选择合作伙伴,79

choosing partners, 79

概念化,57

conceptualization, 57

上下文,17

context, 17

估算中的合同关系,8889

vs. contractual relationships in estimation, 8889

为伴侣的成功做出贡献,2021

contributing to your partner’s success, 2021

与客户,3237

with customers, 3237

定义,6

definition, 6

外部, 26

external, 26

支持你的伴侣,20

having your partner’s back, 20

构思,57

ideation, 57

关键方面,6另请参阅具体方面

key aspects, 6. See also specific aspects

走向创意,24

moving toward ideation, 24

加入新合作伙伴,153154

on-boarding new partners, 153154

政治决策,19

political decisions, 19

与项目经理,116

with project managers, 116

人数越多越安全,21

safety in numbers, 21

作为机会之源,24

as a source of opportunity, 24

加强,2425

strengthening, 2425

技术决策,1819

technical decisions, 1819

与大学,246247

with universities, 246247

激情274,278-279

Passion, 274, 278279

拼布被子原理,277

Patchwork Quilt Principle, 277

专利搜索,114

Patent searches, 114

同行评审,207

Peer reviews, 207

性能调优,227228

Performance tuning, 227228

透视。请参阅 建筑透视

Perspective. See Architectural perspective

飞行员在飞机上的原理,277

Pilot-in-the-Plane Principle, 277

管道估算过程,8485

Pipeline estimation process, 8485

旋转,279280

Pivoting, 279280

平台,定义,143

Platform, definition, 143

平台开发

Platform development

整合公司资产,157158

consolidating company assets, 157158

承包商,158

contractors for, 158

定义,144

definition, 144

关键要素,144145。另请参阅具体要素

key elements, 144145. See also specific elements

平台纠缠,166

Platform entanglement, 166

平台扩张,166

Platform sprawl, 166

平台

Platforms

应用、估计、93

vs. applications, estimation, 93

认识和接受154-155

awareness and acceptance, 154155

整合,162164

integration, 162164

管理,155158

managing, 155158

所有权,148155

ownership, 148155

用户, 148 , 153

users, 148, 153

POC(概念证明)

POCs (proofs of concept)

计算风险承担,275

calculated risk taking, 275

概念具体化,6869

concept reification, 6869

发展技术诀窍货币,220

developing know-how currency, 220

发展卓越专业知识,222

developing know-how excellence, 222

政治问题

Political issues

平台开发,150151

platform development, 150151

技术决策,1819

technical decisions, 1819

投资组合管理、治理领域,205

Portfolio management, governance areas, 205

停电、建筑问题,179

Power outages, architectural concerns, 179

PowerPoint 演示文稿,用于估计,99

PowerPoint presentations, for estimates, 99

参与前的材料、平台开发、152

Pre-engagement materials, platform development, 152

预先录制的产品概述、平台开发、152

Prerecorded product overviews, platform development, 152

演示文稿。另请参阅 建筑沟通文档战略路线图视觉模型

Presentations. See also Architectural communication; Documentation; Strategic roadmapping; Visual models

架构概述, 154

architectural overviews, 154

估计99,103

estimates, 99, 103

常见问题解答,152

FAQs, 152

加入新合作伙伴,153154

on-boarding new partners, 153154

PowerPoint,99

PowerPoint, 99

参与前的材料,152

pre-engagement materials, 152

预先录制的产品概述,152

prerecorded product overviews, 152

脚本现场演示,154

scripted live demos, 154

简化图表,126

simplifying diagrams, 126

白皮书,152

white papers, 152

原理

Principle of

反馈, 177

Feedback, 177

最后责任时刻,176177

Last Responsible Moment, 176177

最低权威,202

Least Authority, 202

最省力,172173

Least Effort, 172173

最少的知识,172

Least Knowledge, 172

最小权限,202

Least Privilege, 202

最不意外,170172

Least Surprise, 170172

自然直觉,171

Natural Intuition, 171

机会成本,173175

Opportunity Cost, 173175

简约,175176

Parsimony, 175176

单一职责,175

Single Responsibility, 175

原则

Principles of

架构。请参阅 架构原则

architecture. See Architectural principles

成本估算。请参阅 估算原则

cost estimation. See Estimation principles

创业执行。参见 创业执行、原则

entrepreneurial execution. See Entrepreneurial execution, principles

治理。参见 治理原则

governance. See Governance principles

平台开发。请参阅 指导原则、平台开发

platform development. See Guiding principles, platform development

路线图。参见 战略路线图、原则

roadmapping. See Strategic roadmapping, principles

技术创新。参见 技术创新、原则

technology innovation. See Technology innovation, principles

优先级

Prioritization

战略研究,245246

strategic research, 245246

战略路线图,259

strategic roadmapping, 259

时间管理,128130

time management, 128130

问题解决。请参阅 解决问题

Problem resolution. See Resolving issues

流程图,184185

Process diagrams, 184185

采购、治理领域,205

Procurement, governance areas, 205

产品线、治理领域,205206

Product lines, governance areas, 205206

专业发展。请参阅 增强您的技能组合专业知识

Professional development. See Enhancing your skill set; Know-how

以项目为中心的融资,87

Project centric financing, 87

项目生命周期图,3另请参阅具体阶段

Project life cycle diagram, 3. See also specific stages

项目管理专业知识,228229

Project management know-how, 228229

项目技能,13。请参阅特定技能

Project skills, 13. See also specific skills

项目、交付

Projects, delivering

建筑师的职责范围,119120

areas of responsibility for architects, 119120

专注于问题领域,118

concentrating on problem areas, 118

担任领导职务的承包商,119

contractors in leadership positions, 119

消除依赖关系,116

eliminating dependencies, 116

走动管理,120121

managing by walking around, 120121

管理期望,116117

managing expectations, 116117

掌握开发过程,117

mastering the development process, 117

不透明,118119

nontransparency, 118119

与项目经理合作,116

partnering with project managers, 116

概念验证 (POC)。参见 POC(概念验证)

Proofs of concept (POCs). See POCs (proofs of concept)

发布战略路线图,259

Publishing strategic roadmaps, 259

Q

质量目标、平台开发、164

Quality goals, platform development, 164

质量管理、平台开发、162另请参阅 技术卓越

Quality management, platform development, 162. See also Technology excellence

R

R

RAID(风险、假设、问题、依赖关系),188191

RAID (risks, assumptions, issues, dependencies), 188191

快速实验,250

Rapid experimentation, 250

研发方法,246

R&D approach to research, 246

冗余架构, 166

Redundant architecture, 166

重新评估产品概念,6970

Reevaluating the product concept, 6970

重构代码,35

Refactoring code, 35

监管合规性

Regulatory compliance

治理领域,206

governance areas, 206

治理原则,200-201

governance principles, 200201

趋势,241

trends, 241

具体化。参见 概念具体化

Reification. See Concept reification

关系。另请参阅 合伙关系

Relationships. See also Partnerships

和刻薄人打交道,26-27

dealing with caustic people, 2627

外部伙伴关系,26

external partnerships, 26

互利互惠,2526

give-and-take, 2526

克服不好的经历,26

overcoming bad experiences, 26

目的,25

purpose of, 25

可重复性、架构问题,182

Repeatability, architectural concerns, 182

重新平台化,估计,9394

Re-platforming, estimation, 9394

报告机制、战略研究、246

Report-out mechanism, strategic research, 246

需求管理

Requirements management

相互冲突的要求, 153

conflicting requirements, 153

平台开发152153,159

platform development, 152153, 159

研究。参见 发现战略研究

Research. See Discovery; Strategic research

解决问题

Resolving issues

提出尖锐问题,121

asking the tough questions, 121

坚持自己的决定,122124

being consistent in your decisions, 122124

迎面,124

head-on, 124

知道什么不是你的问题,125

knowing what is not your problem, 125

知道何时屈服,124

knowing when to cave, 124

此刻,121122

in the moment, 121122

RAID(风险、假设、问题、依赖关系),188191

RAID (risks, assumptions, issues, dependencies), 188191

说“不”,有选择,122

saying no, with options, 122

坚守立场,125

standing your ground, 125

表达不同意见,125

voicing disagreement, 125

评论

Reviews

设计验证, 208

design validation, 208

估计,126

estimates, 126

评论,建筑

Reviews, architecture

方法,206

approach, 206

发展,207

development, 207

企业,207

enterprise, 207

行政人员,206207

executive, 206207

硬件,207

hardware, 207

同行,207

peer, 207

审查委员会,1011

review board, 1011

风险管理

Risk management

A/B 测试,275

A/B testing, 275

计算风险承担,275276

calculated risk taking, 275276

估计,9193

estimation, 9193

尽量减少投资,275

minimizing investments, 275

RAID(风险、假设、问题、依赖关系),188191

RAID (risks, assumptions, issues, dependencies), 188191

风险、假设、问题、依赖关系 (RAID),188191

Risks, assumptions, issues, dependencies (RAID), 188191

路线图。参见 战略路线图

Roadmapping. See Strategic roadmapping

粗略数量级估计,81

Rough order of magnitude estimation, 81

年代

S

说“不”

Saying no

概念形成,6263

concept formation, 6263

重要性,1516

importance of, 1516

解决问题, 122

resolving issues, 122

回答是,估计是100101

Saying yes, in estimation, 100101

可扩展性

Scalability

建筑问题,180181

architectural concerns, 180181

线性,166

linear, 166

扩展、专业知识,227228

Scaling, know-how, 227228

SCQA(情况、复杂化、问题、答案)。参见 SCRAP(情况、复杂化、解决方案、行动、礼貌)

SCQA (situation, complication, question, answer). See SCRAP (situation, complication, resolution, action, politeness)

SCRAP(情况、复杂性、解决方案、行动、礼貌),1920

SCRAP (situation, complication, resolution, action, politeness), 1920

脚本现场演示,154

Scripted live demos, 154

安全。另请参阅 灾难恢复

Security. See also Disaster recovery

建筑问题,201202

architectural concerns, 201202

治理原则,201-202

governance principles, 201202

抓住时机,278

Seizing the moment, 278

销售诀窍,217218

Selling know-how, 217218

服务器故障、架构问题,179

Server failure, architectural concerns, 179

共同愿景,1112

Shared vision, 1112

闪亮物体综合症,277

Shiny object syndrome, 277

场地损失、建筑问题,179

Site loss, architectural concerns, 179

网站中断、架构问题,179

Site outages, architectural concerns, 179

技能发展,287288。请参阅 增强技能培养技术人才专业知识指导

Skill development, 287288. See also Enhancing your skill set; Grooming technical talent; Know-how; Mentoring

技能。参见 项目技能技术技能远见技能

Skills. See Project skills; Technology skills; Visionary skills

软技能,287288

Soft skills, 287288

软件兼容性问题、架构问题、179

Software compatibility issues, architectural concerns, 179

软件构建过程,229

Software construction process, 229

支出信封融资,8687

Spending envelope financing, 8687

利益相关者,确定,89

Stakeholders, identifying, 89

平台开发指导委员会,150151

Steering committees for platform development, 150151

便利贴,战略路线图,260

Sticky notes, strategic roadmapping, 260

存储故障,架构问题,179

Storage failure, architectural concerns, 179

存储已满,架构问题,178179

Storage full, architectural concerns, 178179

战略研究。另请参阅 发现

Strategic research. See also Discovery

与业务目标保持一致,245

alignment with business goals, 245

方法,246247

approaches, 246247

业务部门驱动方法,246

business unit driven approach, 246

企业创新实验室,247

corporate innovation labs, 247

外部, 96

external, 96

开放式创新挑战,247

open innovation challenges, 247

优先排序, 245

prioritization, 245

目的, 246

purpose of, 246

研发方法,246

R&D approach, 246

报告机制,246

report-out mechanism, 246

时间和资源分配,246

time and resource allocation, 246

大学伙伴关系,246247

university partnerships, 246247

战略路线图

Strategic roadmapping

建筑师的角色,265266

architect’s role, 265266

考虑因素,266267

considerations, 266267

定义,256

definition, 256

找到让你充满活力的东西,265

finding what energizes you, 265

关键里程碑,264265,269

key milestones, 264265, 269

社会化,268269

socialization, 268269

用途,266

uses for, 266

视觉表现,258

visual representation, 258

可视化,256

visualizing, 256

战略路线图、要素

Strategic roadmapping, elements of

代号,258

code names, 258

合作,258

collaboration, 258

上下文依赖性,258

context dependency, 258

依赖意识,257

dependency awareness, 257

迭代,259

iteration, 259

测量,259

measuring, 259

多学科,258

multidisciplinary, 258

个性化,258

personalization, 258

优先排序, 259

prioritization, 259

出版,259

publishing, 259

专业化,258

specialization, 258

战略重点,257

strategic focus, 257

泳道,257

swim lanes, 257

时间排序,257

time sequencing, 257

更新, 259

updating, 259

视觉表现,258

visual representation, 258

战略路线图、原则

Strategic roadmapping, principles

找到让你充满活力的东西,265

finding what energizes you, 265

关注目的地,264265

focus on the destination, 264265

入门,262

getting started, 262

玩得开心,262

having fun, 262

保持简单,261262

keeping it simple, 261262

关键里程碑,264265

key milestones, 264265

与企业合作,262

partnering with the business, 262

设定目标,262

setting goals, 262

技能和知识差距,识别,263

skill and knowledge gaps, identifying, 263

走一条新路线,263264

taking a new route, 263264

目标区域,识别,263

target areas, identifying, 263

时间灵活性,263

timing flexibility, 263

战略路线图、战略

Strategic roadmapping, strategies

捕捉基本原则,261

capturing underlying principles, 261

路线图作为一个项目,261

roadmapping as a project, 261

便利贴,260

sticky notes, 260

白板,260

whiteboarding, 260

向后工作,260

working backward, 260

研讨会260-261

workshops, 260261

战略解决方案,115

Strategic solutions, 115

追求技术卓越

Striving toward technology excellence

数据中心和运营支持,114115

data centers and operations support, 114115

处理技术债务,112

dealing with technical debt, 112

建立愿景,112

establishing a vision, 112

概括解决方案,115

generalizing solutions, 115

保持技术人员的参与,113

keeping technical staff engaged, 113

利用解决方案,115

leveraging solutions, 115

专利搜索,114

patent searches, 114

战略解决方案,115

strategic solutions, 115

支持电话,发现客户,3637

Support calls, discovery of customers, 3637

可持续性、建筑问题,182183

Sustainability, architectural concerns, 182183

泳道、战略路线图,257

Swim lanes, strategic roadmaps, 257

系统边界,显示,185

System boundaries, showing, 185

系统组件,显示,186187

System components, showing, 186187

电视

T

教学课程,224

Teaching classes, 224

团队。另请参阅 培养技术人才

Teams. See also Grooming technical talent

聘用最优秀的人才,133134

hiring the best people, 133134

对于平台开发,158161

for platform development, 158161

技术债务112,165

Technical debt, 112, 165

技术技能,287288

Technical skills, 287288

估算涉及的技术,9495

Technologies involved in estimation, 9495

技术卓越。另请参阅 质量管理

Technology excellence. See also Quality management

数据中心和运营支持,114115

data centers and operations support, 114115

处理技术债务,112

dealing with technical debt, 112

建立愿景,112

establishing a vision, 112

概括解决方案,115

generalizing solutions, 115

保持技术人员的参与,113

keeping technical staff engaged, 113

利用解决方案,115

leveraging solutions, 115

专利搜索,114

patent searches, 114

战略解决方案,115

strategic solutions, 115

技术论坛,132

Technology forums, 132

技术创新

Technology innovation

定义,238

definition, 238

务实,252253

pragmatic, 252253

技术创新、业务协同

Technology innovation, business alignment

客户反馈,242243

customer feedback, 242243

趋势分析,243245

trend analysis, 243245

客户查询趋势,242

trends on customer inquiries, 242

技术创新、原则

Technology innovation, principles

反馈回路,250

feedback loops, 250

引入新技术,250251

introducing new technologies, 250251

实验室区域,249250

lab areas, 249250

下小注,248

making small bets, 248

快速实验,250

rapid experimentation, 250

时间和资金,247248

time and funding, 247248

趋势探索,248249

trend scouting, 248249

技术创新、战略研究

Technology innovation, strategic research

与业务目标保持一致,245

alignment with business goals, 245

方法,246247

approaches, 246247

业务部门驱动方法,246

business unit driven approach, 246

企业创新实验室,247

corporate innovation labs, 247

开放式创新挑战,247

open innovation challenges, 247

优先排序, 245

prioritization, 245

目的, 246

purpose of, 246

研发方法,246

R&D approach, 246

报告机制,246

report-out mechanism, 246

时间和资源分配,246

time and resource allocation, 246

大学伙伴关系,246247

university partnerships, 246247

技术创新、趋势感知

Technology innovation, trend awareness

申请,241242

applying, 241242

大数据趋势,252253

big data trend, 252253

云功能, 241

cloud capabilities, 241

会议,240

conferences, 240

顾客竞争知识,241

customers’ competitive knowledge, 241

电子邮件提醒, 241

e-mail alerts, 241

硬件功能,241

hardware capabilities, 241

行业,240

industry, 240

知识产权,241

intellectual property, 241

移动趋势,253

mobile trend, 253

网络平台趋势,253

networked platform trend, 253

开源工具,240

open-source tools, 240

监管合规性, 241

regulatory compliance, 241

大学研究,240

university research, 240

供应商能力, 241

vendor capabilities, 241

技术知识管理,141另请参阅 诀窍

Technology knowledge management, 141. See also Know-how

技术杠杆,141另请参阅 平台开发

Technology leverage, 141. See also Platform development

技术监督,141另见 治理

Technology oversight, 141. See also Governance

技术技能。另请参阅特定技能

Technology skills. See also specific skills

尺寸,141

dimensions of, 141

概述,139140

overview, 139140

测试、治理领域,208209

Testing, governance areas, 208209

第三方集成、架构问题,182183

Third-party integration, architectural concerns, 182183

思想领袖,9

Thought leaders, 9

时间分配。另请参阅 管理你的时间

Time allocation. See also Managing your time

战略研究,245246

strategic research, 245246

技术创新原则,247248

technology innovation principles, 247248

培训。请参阅 增强您的技能组合专业知识

Training. See Enhancing your skill set; Know-how

透明度

Transparency

交付项目,118119

delivering projects, 118119

伙伴关系,1617

in partnerships, 1617

风险管理125-126

risk management, 125126

趋势分析,243245

Trend analysis, 243245

趋势意识

Trend awareness

申请,241242

applying, 241242

大数据,252253

big data, 252253

云功能, 241

cloud capabilities, 241

会议,240

conferences, 240

客户查询,242

customer inquiries, 242

顾客竞争知识,241

customers’ competitive knowledge, 241

电子邮件提醒, 241

e-mail alerts, 241

硬件功能,241

hardware capabilities, 241

行业,240

industry, 240

知识产权,241

intellectual property, 241

移动,253

mobile, 253

网络平台,253

networked platforms, 253

开源工具,240

open-source tools, 240

监管合规性, 241

regulatory compliance, 241

趋势分析,243245

trend analysis, 243245

趋势探索,248249

trend scouting, 248249

大学研究,240

university research, 240

供应商能力, 241

vendor capabilities, 241

趋势探索,248249

Trend scouting, 248249

相信

Trust

建立,12

establishing, 12

学会说“不”,1516

learning to say no, 1516

公开披露,1213

open disclosure, 1213

过度承诺,​​1315

overcommitting, 1315

透明度16-17

transparency, 1617

值得信赖的顾问,10

Trusted advisers, 10

相信你的直觉

Trusting your gut

创业执行,274

entrepreneurial execution, 274

估计,101

estimation, 101

U

大学伙伴关系、战略研究,246247

University partnerships, strategic research, 246247

大学研究趋势,240

University research trends, 240

升级至现有技术,166

Upgrading to current technologies, 166

用户组

User groups

职业发展,132133

for professional development, 132133

作为资源,222223

as resources, 222223

用户界面

User interface

模型,186

mock-ups, 186

平台开发, 163

platform development, 163

最省力原则,172173

Principle of Least Effort, 172173

平台用户,148、153 请参阅客户

Users of platforms, 148, 153. See also Customers

功利型客户,242

Utilitarian customers, 242

V

验证估计82,105-106

Validating estimates, 82, 105106

供应商能力趋势,241

Vendor capability trends, 241

供应商锁定、治理原则,194195

Vendor lock-in, governance principles, 194195

审查专业知识,217218

Vetting know-how, 217218

愿景,建立,112

Vision, establishing, 112

远见技能,233235。请参阅特定技能

Visionary skills, 233235. See also specific skills

视觉模型

Visual models

概念形成,6367

concept formation, 6367

概念图,64

conceptual diagrams, 64

上下文图,64

context diagrams, 64

西

W

白皮书,平台开发,152

White papers, platform development, 152

白板、战略路线图、260

Whiteboarding, strategic roadmapping, 260

工作流程,显示,184185

Work flow, showing, 184185

研讨会、战略路线图,260261

Workshops, strategic roadmapping, 260261

写一本书,224225

Writing a book, 224225

Z

齐普夫定律,172173

Zipf’s Law, 172173

图像
图像